@localazy/strapi-plugin
Version:
The official Strapi Plugin by Localazy.
61 lines (60 loc) • 1.84 kB
JavaScript
import { c as createStrapiApiAxiosInstance } from "./index-C15Goe6p.mjs";
const BASE_PATH = "/entry-exclusion";
const axiosInstance = createStrapiApiAxiosInstance();
class EntryExclusionService {
/**
* Get entry exclusion state for a specific entry
*/
static async getEntryExclusion(contentType, documentId) {
try {
const result = await axiosInstance.get(`${BASE_PATH}/${contentType}/${documentId}`);
return result.data.isExcluded;
} catch (error) {
console.error("Error getting entry exclusion:", error);
throw error;
}
}
/**
* Set entry exclusion state for a specific entry
*/
static async setEntryExclusion(contentType, documentId, isExcluded) {
try {
const result = await axiosInstance.put(`${BASE_PATH}/${contentType}/${documentId}`, {
isExcluded
});
return result.data.isExcluded;
} catch (error) {
console.error("Error setting entry exclusion:", error);
throw error;
}
}
/**
* Set exclusion state for multiple entries
*/
static async setMultipleEntriesExclusion(contentType, documentIds, isExcluded) {
try {
for (let i = 0; i < documentIds.length; i++) {
const docId = documentIds[i];
await this.setEntryExclusion(contentType, docId, isExcluded);
}
} catch (error) {
console.error("Error setting multiple entries exclusion:", error);
throw error;
}
}
/**
* Get all excluded entries for a content type
*/
static async getContentTypeExclusions(contentType) {
try {
const result = await axiosInstance.get(`${BASE_PATH}/${contentType}`);
return result.data.excludedIds;
} catch (error) {
console.error("Error getting content type exclusions:", error);
throw error;
}
}
}
export {
EntryExclusionService as default
};