2022-12-21 17:14:47 +00:00
|
|
|
import { APP_MODE } from "entities/App";
|
2023-10-20 05:38:47 +00:00
|
|
|
import type { JSLibrary } from "workers/common/JSLibrary";
|
2022-12-21 17:14:47 +00:00
|
|
|
import Api from "./Api";
|
|
|
|
|
|
|
|
|
|
export default class LibraryApi extends Api {
|
|
|
|
|
static base_url = "v1/libraries";
|
|
|
|
|
|
|
|
|
|
static getUpdateLibraryBaseURL = (applicationId: string) =>
|
|
|
|
|
`${LibraryApi.base_url}/${applicationId}`;
|
|
|
|
|
|
2023-10-09 13:54:06 +00:00
|
|
|
static async addLibrary(
|
2022-12-21 17:14:47 +00:00
|
|
|
applicationId: string,
|
2023-10-20 05:38:47 +00:00
|
|
|
library: Partial<JSLibrary> & { defs: string },
|
2022-12-21 17:14:47 +00:00
|
|
|
) {
|
|
|
|
|
const url = LibraryApi.getUpdateLibraryBaseURL(applicationId) + "/add";
|
|
|
|
|
return Api.patch(url, library);
|
|
|
|
|
}
|
|
|
|
|
|
2023-10-09 13:54:06 +00:00
|
|
|
static async removeLibrary(
|
|
|
|
|
applicationId: string,
|
2023-10-20 05:38:47 +00:00
|
|
|
library: Partial<JSLibrary>,
|
2023-10-09 13:54:06 +00:00
|
|
|
) {
|
2022-12-21 17:14:47 +00:00
|
|
|
const url = LibraryApi.getUpdateLibraryBaseURL(applicationId) + "/remove";
|
2024-07-10 08:52:58 +00:00
|
|
|
return Api.patch(url, library);
|
2022-12-21 17:14:47 +00:00
|
|
|
}
|
|
|
|
|
|
2023-10-09 13:54:06 +00:00
|
|
|
static async getLibraries(applicationId: string, mode: APP_MODE) {
|
2022-12-21 17:14:47 +00:00
|
|
|
const url = `${LibraryApi.getUpdateLibraryBaseURL(applicationId)}${
|
|
|
|
|
mode === APP_MODE.PUBLISHED ? "/view" : ""
|
|
|
|
|
}`;
|
|
|
|
|
return Api.get(url);
|
|
|
|
|
}
|
|
|
|
|
}
|