UNPKG

@simpleapps-com/augur-api

Version:

TypeScript client library for Augur microservices API endpoints

98 lines 3.71 kB
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