@simpleapps-com/augur-api
Version:
TypeScript client library for Augur microservices API endpoints
65 lines • 2.28 kB
JavaScript
import { LocationsBinsParamsSchema, LocationsBinsResponseSchema, } from '../schemas';
/**
* Creates the locations resource methods
* OpenAPI Path: /locations → locations.*
* @description Methods for managing locations
*/
export function createLocationsResource(executeRequest) {
return {
/**
* OpenAPI Path: /locations/{locationId}/bins → locations.bins.*
* @description Nested path for location bins
*/
bins: {
/**
* List location bins
* @description Get bins for a specific location
* @fullPath api.items.locations.bins.list
* @service items
* @domain inventory-management
* @discoverable true
*/
list: async (locationId, params) => {
return executeRequest({
method: 'GET',
path: `/locations/${locationId}/bins`,
paramsSchema: LocationsBinsParamsSchema,
responseSchema: LocationsBinsResponseSchema,
}, params);
},
/**
* Get location bin
* @description Get specific bin for a location
* @fullPath api.items.locations.bins.get
* @service items
* @domain inventory-management
* @discoverable true
*/
get: async (locationId, bin) => {
return executeRequest({
method: 'GET',
path: `/locations/${locationId}/bins/${bin}`,
responseSchema: LocationsBinsResponseSchema,
});
},
},
};
}
/**
* Creates the locationsData resource methods (data-only versions)
*/
export function createLocationsDataResource(locations) {
return {
bins: {
list: async (locationId, params) => {
const response = await locations.bins.list(locationId, params);
return response.data;
},
get: async (locationId, bin) => {
const response = await locations.bins.get(locationId, bin);
return response.data;
},
},
};
}
//# sourceMappingURL=locations.js.map