@simpleapps-com/augur-api
Version:
TypeScript client library for Augur microservices API endpoints
172 lines • 7.29 kB
JavaScript
import { StandardPaginationParamsSchema } from '../../../core/common-schemas';
import { CreateItemWishlistHeaderRequestSchema, ItemWishlistHeaderResponseSchema, ItemWishlistHeaderListResponseSchema, CreateItemWishlistHdrRequestSchema, UpdateItemWishlistHdrRequestSchema, ItemWishlistHdrResponseSchema, ItemWishlistLineResponseSchema, } from '../schemas';
/**
* Creates the itemWishlist resource methods
* OpenAPI Path: /item-wishlist/{usersId} → itemWishlist.* (with required parameter)
* @description Methods for managing user wishlists
*/
export 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: StandardPaginationParamsSchema,
responseSchema: 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: CreateItemWishlistHeaderRequestSchema,
responseSchema: 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: 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: CreateItemWishlistHdrRequestSchema,
responseSchema: 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: UpdateItemWishlistHdrRequestSchema,
responseSchema: 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: 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: ItemWishlistLineResponseSchema,
});
},
},
},
};
}
/**
* Creates the itemWishlistData resource methods (data-only versions)
*/
export 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