UNPKG

@simpleapps-com/augur-api

Version:

TypeScript client library for Augur microservices API endpoints

156 lines 5.82 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createPodcastsResource = createPodcastsResource; exports.createPodcastsDataResource = createPodcastsDataResource; const schemas_1 = require("../schemas"); /** * Creates the podcasts resource methods * OpenAPI Path: /podcasts → podcasts.* * @description Manage podcast content with full transcript support */ function createPodcastsResource(executeRequest) { return { /** * List podcasts with filtering and search capabilities * * @fullPath api.p21Pim.podcasts.list * @service p21-pim * @domain content-management * @dataMethod podcastsData.list * @discoverable true * @searchTerms ['podcasts', 'content', 'transcripts', 'media'] * @relatedEndpoints ['joomla.content', 'gregorovich.documents'] * @commonPatterns ['Manage podcast content', 'Handle media transcripts'] * * @param params Query parameters for filtering and pagination * @returns Paginated list of podcasts */ list: async (params) => { return executeRequest({ method: 'GET', path: '/podcasts', paramsSchema: schemas_1.PodcastListParamsSchema, responseSchema: schemas_1.PodcastListResponseSchema, }, params); }, /** * Get a specific podcast by UID * * @fullPath api.p21Pim.podcasts.get * @service p21-pim * @domain content-management * @dataMethod podcastsData.get * @discoverable true * @searchTerms ['podcasts', 'content'] * @relatedEndpoints ['joomla.content'] * @commonPatterns ['Retrieve podcast details'] * * @param podcastsUid Podcast UID (must match OpenAPI parameter name) * @returns Single podcast record */ get: async (podcastsUid) => { return executeRequest({ method: 'GET', path: '/podcasts/{podcastsUid}', responseSchema: schemas_1.PodcastResponseSchema, }, undefined, { podcastsUid: String(podcastsUid) }); }, /** * Create a new podcast record * * @fullPath api.p21Pim.podcasts.create * @service p21-pim * @domain content-management * @dataMethod podcastsData.create * @discoverable true * @searchTerms ['podcasts', 'create', 'content'] * @relatedEndpoints ['joomla.content'] * @commonPatterns ['Create podcast content'] * * @param data Podcast data for creation * @returns Created podcast record */ create: async (data) => { return executeRequest({ method: 'POST', path: '/podcasts', paramsSchema: schemas_1.PodcastCreateParamsSchema, responseSchema: schemas_1.PodcastResponseSchema, }, data); }, /** * Update an existing podcast record * * @fullPath api.p21Pim.podcasts.update * @service p21-pim * @domain content-management * @dataMethod podcastsData.update * @discoverable true * @searchTerms ['podcasts', 'update', 'content'] * @relatedEndpoints ['joomla.content'] * @commonPatterns ['Update podcast content'] * * @param podcastsUid Podcast UID (must match OpenAPI parameter name) * @param data Podcast data for update * @returns Updated podcast record */ update: async (podcastsUid, data) => { return executeRequest({ method: 'PUT', path: '/podcasts/{podcastsUid}', paramsSchema: schemas_1.PodcastUpdateParamsSchema, responseSchema: schemas_1.PodcastResponseSchema, }, data, { podcastsUid: String(podcastsUid) }); }, /** * Soft delete a podcast record * * @fullPath api.p21Pim.podcasts.delete * @service p21-pim * @domain content-management * @dataMethod podcastsData.delete * @discoverable true * @searchTerms ['podcasts', 'delete', 'content'] * @relatedEndpoints ['joomla.content'] * @commonPatterns ['Delete podcast content'] * * @param podcastsUid Podcast UID (must match OpenAPI parameter name) * @returns Deleted podcast confirmation */ delete: async (podcastsUid) => { return executeRequest({ method: 'DELETE', path: '/podcasts/{podcastsUid}', responseSchema: schemas_1.PodcastResponseSchema, }, undefined, { podcastsUid: String(podcastsUid) }); }, }; } /** * Creates the podcastsData resource methods (data-only versions) */ function createPodcastsDataResource(podcasts) { return { list: async (params) => { const response = await podcasts.list(params); return response.data; }, get: async (podcastsUid) => { const response = await podcasts.get(podcastsUid); return response.data; }, create: async (data) => { const response = await podcasts.create(data); return response.data; }, update: async (podcastsUid, data) => { const response = await podcasts.update(podcastsUid, data); return response.data; }, delete: async (podcastsUid) => { const response = await podcasts.delete(podcastsUid); return response.data; }, }; } //# sourceMappingURL=podcasts.js.map