@simpleapps-com/augur-api
Version:
TypeScript client library for Augur microservices API endpoints
176 lines • 7.36 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.createItemWishlistResource = createItemWishlistResource;
exports.createItemWishlistDataResource = createItemWishlistDataResource;
const common_schemas_1 = require("../../../core/common-schemas");
const schemas_1 = require("../schemas");
/**
* Creates the itemWishlist resource methods
* OpenAPI Path: /item-wishlist/{usersId} → itemWishlist.* (with required parameter)
* @description Methods for managing user wishlists
*/
function createItemWishlistResource(executeRequest) {
return {
/**
* List user wishlists
* @description Get wishlists for a specific user
* @fullPath api.items.itemWishlist.list
* @service items
* @domain user-preferences
* @discoverable true
*/
list: async (usersId, params) => {
return executeRequest({
method: 'GET',
path: `/item-wishlist/${usersId}`,
paramsSchema: common_schemas_1.StandardPaginationParamsSchema,
responseSchema: schemas_1.ItemWishlistHeaderListResponseSchema,
}, params);
},
/**
* Create user wishlist
* @description Create new wishlist for a user
* @fullPath api.items.itemWishlist.create
* @service items
* @domain user-preferences
* @discoverable true
*/
create: async (usersId, data) => {
return executeRequest({
method: 'POST',
path: `/item-wishlist/${usersId}`,
paramsSchema: schemas_1.CreateItemWishlistHeaderRequestSchema,
responseSchema: schemas_1.ItemWishlistHeaderResponseSchema,
}, data);
},
/**
* OpenAPI Path: /item-wishlist/{usersId}/hdr/{itemWishlistHdrUid} → itemWishlist.hdr.*
* @description Nested path for wishlist headers
*/
hdr: {
/**
* Get wishlist header
* @description Get specific wishlist header details
* @fullPath api.items.itemWishlist.hdr.get
* @service items
* @domain user-preferences
* @discoverable true
*/
get: async (usersId, itemWishlistHdrUid) => {
return executeRequest({
method: 'GET',
path: `/item-wishlist/${usersId}/hdr/${itemWishlistHdrUid}`,
responseSchema: schemas_1.ItemWishlistHdrResponseSchema,
});
},
/**
* Create wishlist header
* @description Create new wishlist header
* @fullPath api.items.itemWishlist.hdr.create
* @service items
* @domain user-preferences
* @discoverable true
*/
create: async (usersId, itemWishlistHdrUid, data) => {
return executeRequest({
method: 'POST',
path: `/item-wishlist/${usersId}/hdr/${itemWishlistHdrUid}`,
paramsSchema: schemas_1.CreateItemWishlistHdrRequestSchema,
responseSchema: schemas_1.ItemWishlistHdrResponseSchema,
}, data);
},
/**
* Update wishlist header
* @description Update existing wishlist header
* @fullPath api.items.itemWishlist.hdr.update
* @service items
* @domain user-preferences
* @discoverable true
*/
update: async (usersId, itemWishlistHdrUid, data) => {
return executeRequest({
method: 'PUT',
path: `/item-wishlist/${usersId}/hdr/${itemWishlistHdrUid}`,
paramsSchema: schemas_1.UpdateItemWishlistHdrRequestSchema,
responseSchema: schemas_1.ItemWishlistHdrResponseSchema,
}, data);
},
/**
* Delete wishlist header
* @description Delete existing wishlist header
* @fullPath api.items.itemWishlist.hdr.delete
* @service items
* @domain user-preferences
* @discoverable true
*/
delete: async (usersId, itemWishlistHdrUid) => {
return executeRequest({
method: 'DELETE',
path: `/item-wishlist/${usersId}/hdr/${itemWishlistHdrUid}`,
responseSchema: schemas_1.ItemWishlistHdrResponseSchema,
});
},
/**
* OpenAPI Path: /item-wishlist/{usersId}/hdr/{itemWishlistHdrUid}/line/{itemWishlistLineUid} → itemWishlist.hdr.line.*
* @description Deep nested path for wishlist lines
*/
line: {
/**
* Delete wishlist line
* @description Remove item from wishlist
* @fullPath api.items.itemWishlist.hdr.line.delete
* @service items
* @domain user-preferences
* @discoverable true
*/
delete: async (usersId, itemWishlistHdrUid, itemWishlistLineUid) => {
return executeRequest({
method: 'DELETE',
path: `/item-wishlist/${usersId}/hdr/${itemWishlistHdrUid}/line/${itemWishlistLineUid}`,
responseSchema: schemas_1.ItemWishlistLineResponseSchema,
});
},
},
},
};
}
/**
* Creates the itemWishlistData resource methods (data-only versions)
*/
function createItemWishlistDataResource(itemWishlist) {
return {
list: async (usersId, params) => {
const response = await itemWishlist.list(usersId, params);
return response.data;
},
create: async (usersId, data) => {
const response = await itemWishlist.create(usersId, data);
return response.data;
},
hdr: {
get: async (usersId, itemWishlistHdrUid) => {
const response = await itemWishlist.hdr.get(usersId, itemWishlistHdrUid);
return response.data;
},
create: async (usersId, itemWishlistHdrUid, data) => {
const response = await itemWishlist.hdr.create(usersId, itemWishlistHdrUid, data);
return response.data;
},
update: async (usersId, itemWishlistHdrUid, data) => {
const response = await itemWishlist.hdr.update(usersId, itemWishlistHdrUid, data);
return response.data;
},
delete: async (usersId, itemWishlistHdrUid) => {
const response = await itemWishlist.hdr.delete(usersId, itemWishlistHdrUid);
return response.data;
},
line: {
delete: async (usersId, itemWishlistHdrUid, itemWishlistLineUid) => {
const response = await itemWishlist.hdr.line.delete(usersId, itemWishlistHdrUid, itemWishlistLineUid);
return response.data;
},
},
},
};
}
//# sourceMappingURL=item-wishlist.js.map