@mondaycom/apps-cli
Version:
A cli tool to manage apps (and monday-code projects) in monday.com
34 lines (33 loc) • 1.33 kB
JavaScript
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];
};