@simpleapps-com/augur-api
Version:
TypeScript client library for Augur microservices API endpoints
102 lines • 3.85 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.createItemFavoritesResource = createItemFavoritesResource;
exports.createItemFavoritesDataResource = createItemFavoritesDataResource;
const common_schemas_1 = require("../../../core/common-schemas");
const schemas_1 = require("../schemas");
/**
* Creates the itemFavorites resource methods
* OpenAPI Path: /item-favorites/{usersId} → itemFavorites.* (with required parameter)
* @description Methods for managing user item favorites
*/
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: common_schemas_1.StandardPaginationParamsSchema,
responseSchema: schemas_1.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: schemas_1.CreateItemFavoriteRequestSchema,
responseSchema: schemas_1.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: schemas_1.UpdateItemFavoriteRequestSchema,
responseSchema: schemas_1.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: schemas_1.ItemFavoritesItemResponseSchema,
});
},
};
}
/**
* Creates the itemFavoritesData resource methods (data-only versions)
*/
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