UNPKG

@code-mancers/strapi-plugin-multi-site-vercel-deploy

Version:

Strapi v4 plugin to trigger and monitor deployment of multiple applications on Vercel

83 lines (77 loc) 2.14 kB
import axios from "./axiosInstance"; import pluginId from "../pluginId"; /** * @typedef {import('../../../types/typedefs').PluginConfig} PluginConfig * @typedef {import('../../../types/typedefs').RunDeployResponse} RunDeployResponse * @typedef {import('../../../types/typedefs').GetDeploymentsResponse} GetDeploymentsResponse * @typedef {import('../../../types/typedefs').DeployAvailabilityResponse} DeployAvailabilityResponse */ /** * Start a deploy * @returns {Promise<RunDeployResponse>} */ export const runDeploy = async (selectedSite) => { try { const data = await axios( `/${pluginId}/deploy/run?site=${selectedSite.appFilter}`, { method: "GET" } ); return data.data; } catch (error) { console.error("[vercel-deploy] Error while running a deploy -", error); throw error; } }; /** * Fetch and return plugin config * @returns {Promise<PluginConfig>} */ export const getConfig = async () => { try { const response = await axios(`/${pluginId}/config`, { method: "GET" }); return response.data; } catch (error) { console.error("[vercel-deploy] Error while fetching configs -", error); throw error; } }; /** * Fetch and return Deployments info * @returns {Promise<GetDeploymentsResponse>} */ export const getDeployments = async (selectedSite) => { try { const response = await axios( `/${pluginId}/deploy/list?site=${selectedSite.appFilter}`, { method: "GET" } ); return response.data; } catch (error) { console.error( "[vercel-deploy] Error while fetching deployments list -", error ); throw error; } }; /** * Fetch the availability for each deploy feature * @returns {Promise<DeployAvailabilityResponse>} */ export const deployAvailability = async (selectedSite) => { try { const response = await axios( `/${pluginId}/deploy/availability?site=${selectedSite.appFilter}`, { method: "GET", } ); return response.data; } catch (error) { console.error( "[vercel-deploy]: Error while fetching deploy availability -", error ); throw error; } };