UNPKG

@mondaycom/apps-cli

Version:

A cli tool to manage apps (and monday-code projects) in monday.com

34 lines (33 loc) 1.33 kB
import { appReleasesUrl } from '../consts/urls.js'; import { execute } from './api-service.js'; import { appReleasesSchema } from './schemas/app-releases-schema.js'; import { AppReleaseCategory } from '../consts/app-release.js'; import { HttpError } from '../types/errors/index.js'; import { HttpMethodTypes } from '../types/services/api-service.js'; import { appsUrlBuilder } from '../utils/urls-builder.js'; export const listAppBuilds = async (appVersionId) => { try { const path = appReleasesUrl(appVersionId); const url = appsUrlBuilder(path); const response = await execute({ url, headers: { Accept: 'application/json' }, method: HttpMethodTypes.GET, }, appReleasesSchema); return response.appReleases; } catch (error) { if (error instanceof HttpError) { throw error; } throw new Error('Failed to list app versions.'); } }; export const getMondayCodeBuild = async (appVersionId, region) => { const appReleases = await listAppBuilds(appVersionId); const mondayCodeRelease = appReleases.filter(release => release.category === AppReleaseCategory.MondayCode); if (region) { return mondayCodeRelease.find(release => release.region === region); } return mondayCodeRelease[0]; };