@simpleapps-com/augur-api
Version:
TypeScript client library for Augur microservices API endpoints
85 lines • 2.93 kB
JavaScript
import { ContentParamsSchema, ContentResponseSchema, ContentIdParamsSchema, ContentIdResponseSchema, ContentIdDocParamsSchema, ContentIdDocResponseSchema, } from '../schemas';
/**
* Creates the content resource methods
* OpenAPI Path: /content → content.*
* @description Content management operations
*/
export function createContentResource(executeRequest) {
return {
/**
* List content items - /content GET
* @fullPath api.joomla.content.list
* @service joomla
* @domain content-management
* @dataMethod contentData.list
* @discoverable true
*/
list: async (params) => {
return executeRequest({
method: 'GET',
path: '/content',
paramsSchema: ContentParamsSchema,
responseSchema: ContentResponseSchema,
}, params);
},
/**
* Get content by ID - /content/{id} GET
* @fullPath api.joomla.content.get
* @service joomla
* @domain content-management
* @dataMethod contentData.get
* @discoverable true
*/
get: async (contentId, params) => {
return executeRequest({
method: 'GET',
path: '/content/{id}',
paramsSchema: ContentIdParamsSchema,
responseSchema: ContentIdResponseSchema,
}, params, { id: String(contentId) });
},
/**
* Content document endpoints - /content/{id}/doc
*/
doc: {
/**
* Get content document - /content/{id}/doc GET
* @fullPath api.joomla.content.doc.get
* @service joomla
* @domain content-management
* @dataMethod contentData.doc.get
* @discoverable true
*/
get: async (contentId, params) => {
return executeRequest({
method: 'GET',
path: '/content/{id}/doc',
paramsSchema: ContentIdDocParamsSchema,
responseSchema: ContentIdDocResponseSchema,
}, params, { id: String(contentId) });
},
},
};
}
/**
* Creates the contentData resource methods (data-only versions)
*/
export function createContentDataResource(content) {
return {
list: async (params) => {
const response = await content.list(params);
return response.data;
},
get: async (contentId, params) => {
const response = await content.get(contentId, params);
return response.data;
},
doc: {
get: async (contentId, params) => {
const response = await content.doc.get(contentId, params);
return response.data;
},
},
};
}
//# sourceMappingURL=content.js.map