in src/persistence/mapiObjectStorage.ts [137:221]
public paperbitsKeyToArmResource(key: string): string {
if (key.startsWith("/")) {
key = key.substring(1);
}
if (key.startsWith("contentTypes")) {
return key;
}
const segments = key.split("/");
const contentType = segments[0];
const contentItem = segments[1];
let mapiContentType;
let mapiContentItem;
switch (contentType) {
case "pages":
mapiContentType = "page";
mapiContentItem = contentItem;
break;
case "layouts":
mapiContentType = "layout";
mapiContentItem = contentItem;
break;
case "uploads":
mapiContentType = "blob";
mapiContentItem = contentItem;
break;
case "blocks":
mapiContentType = "block";
mapiContentItem = contentItem;
break;
case "urls":
mapiContentType = "url";
mapiContentItem = contentItem;
break;
case "navigationItems":
mapiContentType = "document";
mapiContentItem = "navigation";
break;
case "settings":
mapiContentType = "document";
mapiContentItem = "configuration";
break;
case "styles":
mapiContentType = "document";
mapiContentItem = "stylesheet";
break;
case "files":
mapiContentType = "document";
mapiContentItem = contentItem;
break;
case "locales":
mapiContentType = "locales";
mapiContentItem = "en-us";
break;
case "popups":
mapiContentType = "popup";
mapiContentItem = contentItem;
break;
default:
// throw new AppError(`Unknown content type: "${contentType}"`);
return key;
}
let resource = `contentTypes/${mapiContentType}/contentItems`;
if (mapiContentItem) {
resource += `/${mapiContentItem}`;
}
return resource;
}