@simpleapps-com/augur-api
Version:
TypeScript client library for Augur microservices API endpoints
98 lines • 3.71 kB
JavaScript
import { StandardPaginationParamsSchema } from '../../../core/common-schemas';
import { ItemFavoritesListResponseSchema, ItemFavoritesItemResponseSchema, CreateItemFavoriteRequestSchema, UpdateItemFavoriteRequestSchema, } from '../schemas';
/**
* Creates the itemFavorites resource methods
* OpenAPI Path: /item-favorites/{usersId} → itemFavorites.* (with required parameter)
* @description Methods for managing user item favorites
*/
export function createItemFavoritesResource(executeRequest) {
return {
/**
* List user favorites
* @description Get favorites for a specific user
* @fullPath api.items.itemFavorites.list
* @service items
* @domain user-preferences
* @discoverable true
*/
list: async (usersId, params) => {
return executeRequest({
method: 'GET',
path: `/item-favorites/${usersId}`,
paramsSchema: StandardPaginationParamsSchema,
responseSchema: ItemFavoritesListResponseSchema,
}, params);
},
/**
* Create user favorite
* @description Add item to user's favorites
* @fullPath api.items.itemFavorites.create
* @service items
* @domain user-preferences
* @discoverable true
*/
create: async (usersId, data) => {
return executeRequest({
method: 'POST',
path: `/item-favorites/${usersId}`,
paramsSchema: CreateItemFavoriteRequestSchema,
responseSchema: ItemFavoritesItemResponseSchema,
}, data);
},
/**
* Update user favorite
* @description Update item in user's favorites
* @fullPath api.items.itemFavorites.update
* @service items
* @domain user-preferences
* @discoverable true
*/
update: async (usersId, invMastUid, data) => {
return executeRequest({
method: 'PUT',
path: `/item-favorites/${usersId}/${invMastUid}`,
paramsSchema: UpdateItemFavoriteRequestSchema,
responseSchema: ItemFavoritesItemResponseSchema,
}, data);
},
/**
* Delete user favorite
* @description Remove item from user's favorites
* @fullPath api.items.itemFavorites.delete
* @service items
* @domain user-preferences
* @discoverable true
*/
delete: async (usersId, invMastUid) => {
return executeRequest({
method: 'DELETE',
path: `/item-favorites/${usersId}/${invMastUid}`,
responseSchema: ItemFavoritesItemResponseSchema,
});
},
};
}
/**
* Creates the itemFavoritesData resource methods (data-only versions)
*/
export function createItemFavoritesDataResource(itemFavorites) {
return {
list: async (usersId, params) => {
const response = await itemFavorites.list(usersId, params);
return response.data;
},
create: async (usersId, data) => {
const response = await itemFavorites.create(usersId, data);
return response.data;
},
update: async (usersId, invMastUid, data) => {
const response = await itemFavorites.update(usersId, invMastUid, data);
return response.data;
},
delete: async (usersId, invMastUid) => {
const response = await itemFavorites.delete(usersId, invMastUid);
return response.data;
},
};
}
//# sourceMappingURL=item-favorites.js.map