UNPKG

@simpleapps-com/augur-api

Version:

TypeScript client library for Augur microservices API endpoints

165 lines 5.8 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createAddressResource = createAddressResource; exports.createAddressDataResource = createAddressDataResource; const zod_1 = require("zod"); const schemas_1 = require("../schemas"); const schemas_2 = require("../../../core/schemas"); const UnknownResponseSchema = (0, schemas_2.BaseResponseSchema)(zod_1.z.unknown()); const UnknownArrayResponseSchema = (0, schemas_2.BaseResponseSchema)(zod_1.z.array(zod_1.z.unknown())); /** * Creates the address resource methods * OpenAPI Path: /address → address.* * @description Address management operations for shipping and delivery configuration */ function createAddressResource(executeRequest, createListMethod) { const listMethod = createListMethod('/address', schemas_1.AddressListParamsSchema, UnknownArrayResponseSchema); return { /** * List all addresses with filtering capabilities * @fullPath api.p21Core.address.list * @service p21-core * @domain address-and-shipping-management * @dataMethod addressData.list * @discoverable true */ list: listMethod, /** * Get address details by ID * @fullPath api.p21Core.address.get * @service p21-core * @domain address-and-shipping-management * @dataMethod addressData.get * @discoverable true */ get: async (params) => { return executeRequest({ method: 'GET', path: '/address/{id}', responseSchema: UnknownResponseSchema, }, undefined, { id: params.id }); }, /** * Corporate address operations */ corpAddress: { /** * Get corporate address list * @fullPath api.p21Core.address.corpAddress.list * @service p21-core * @domain address-and-shipping-management * @dataMethod addressData.corpAddress.list * @discoverable true */ list: async (params) => { return executeRequest({ method: 'GET', path: '/address/{id}/corp-address', paramsSchema: schemas_1.AddressCorpListParamsSchema, responseSchema: UnknownArrayResponseSchema, }, params, { id: params.id }); }, }, /** * Default address operations */ default: { /** * Set address as default shipping method * @fullPath api.p21Core.address.default.get * @service p21-core * @domain address-and-shipping-management * @dataMethod addressData.default.get * @discoverable true */ get: async (params) => { return executeRequest({ method: 'GET', path: '/address/{id}/default', responseSchema: UnknownResponseSchema, }, undefined, { id: params.id }); }, }, /** * Address enable/disable operations */ enable: { /** * Enable or disable address as shipping method * @fullPath api.p21Core.address.enable.get * @service p21-core * @domain address-and-shipping-management * @dataMethod addressData.enable.get * @discoverable true */ get: async (params) => { return executeRequest({ method: 'GET', path: '/address/{id}/enable', paramsSchema: schemas_1.AddressEnableParamsSchema, responseSchema: UnknownResponseSchema, }, params, { id: params.id }); }, }, /** * Address refresh operations */ refresh: { /** * Trigger data refresh for address synchronization * @fullPath api.p21Core.address.refresh.get * @service p21-core * @domain address-and-shipping-management * @dataMethod addressData.refresh.get * @discoverable true */ get: async () => { return executeRequest({ method: 'GET', path: '/address/refresh', responseSchema: UnknownResponseSchema, }); }, }, }; } /** * Creates the addressData resource methods (data-only versions) */ function createAddressDataResource(address) { return { list: async (params) => { const response = await address.list(params); return response.data; }, get: async (params) => { const response = await address.get(params); return response.data; }, corpAddress: { list: async (params) => { const response = await address.corpAddress.list(params); return response.data; }, }, default: { get: async (params) => { const response = await address.default.get(params); return response.data; }, }, enable: { get: async (params) => { const response = await address.enable.get(params); return response.data; }, }, refresh: { get: async () => { const response = await address.refresh.get(); return response.data; }, }, }; } //# sourceMappingURL=address.js.map