dc-management-sdk-js
Version:
Amplience Dynamic Content Management SDK
54 lines • 3.73 kB
JavaScript
import { HalResource } from '../hal/models/HalResource';
import { CURIEs } from '../hal/services/CURIEs';
import { ContentItemsPage } from './ContentItem';
import { ContentRepository } from './ContentRepository';
import { Page } from './Page';
export class Folder extends HalResource {
constructor() {
super(...arguments);
/**
* Resources and actions related to a Folder
*/
this.related = {
/**
* Retrieves the ContentRepository this folder is stored in
*/
contentRepository: () => this.fetchLinkedResource('content-repository', {}, ContentRepository),
folders: {
/**
* Retrieves the parent folder of this Folder
*/
parent: () => this.fetchLinkedResource('parent-folder', {}, Folder),
/**
* Retrieves the list of sub-folders contained within this Folder
* @param options Pagination options
*/
list: (options) => {
const path = CURIEs.expand(`folders/${this.id}/folders{?page,size,sort}`, options);
return this.client.fetchResource(path, FoldersPage);
},
/**
* Creates a folder beneath the folder
* @param resource The new Folder to create
*/
create: (resource) => this.createLinkedResource('create-folder', {}, resource, Folder),
},
contentItems: {
/**
* Retrieves a list of Content Items stored within this Folder
* @param options Pagination options
*/
list: (options) => this.fetchLinkedResource('content-items', options, ContentItemsPage),
},
};
}
}
/**
* @hidden
*/
export class FoldersPage extends Page {
constructor(data) {
super('folders', Folder, data);
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRm9sZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9tb2RlbC9Gb2xkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNoRCxPQUFPLEVBQWUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDeEQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUk5QixNQUFNLE9BQU8sTUFBTyxTQUFRLFdBQVc7SUFBdkM7O1FBS0U7O1dBRUc7UUFDYSxZQUFPLEdBQUc7WUFDeEI7O2VBRUc7WUFDSCxpQkFBaUIsRUFBRSxHQUErQixFQUFFLENBQ2xELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxvQkFBb0IsRUFBRSxFQUFFLEVBQUUsaUJBQWlCLENBQUM7WUFFdkUsT0FBTyxFQUFFO2dCQUNQOzttQkFFRztnQkFDSCxNQUFNLEVBQUUsR0FBb0IsRUFBRSxDQUM1QixJQUFJLENBQUMsbUJBQW1CLENBQUMsZUFBZSxFQUFFLEVBQUUsRUFBRSxNQUFNLENBQUM7Z0JBRXZEOzs7bUJBR0c7Z0JBQ0gsSUFBSSxFQUFFLENBQUMsT0FBNkIsRUFBeUIsRUFBRTtvQkFDN0QsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FDeEIsV0FBVyxJQUFJLENBQUMsRUFBRSwyQkFBMkIsRUFDN0MsT0FBTyxDQUNSLENBQUM7b0JBQ0YsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsV0FBVyxDQUFDLENBQUM7Z0JBQ3RELENBQUM7Z0JBRUQ7OzttQkFHRztnQkFDSCxNQUFNLEVBQUUsQ0FBQyxRQUFnQixFQUFtQixFQUFFLENBQzVDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxlQUFlLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUM7YUFDbkU7WUFFRCxZQUFZLEVBQUU7Z0JBQ1o7OzttQkFHRztnQkFDSCxJQUFJLEVBQUUsQ0FBQyxPQUE2QixFQUE4QixFQUFFLENBQ2xFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxlQUFlLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixDQUFDO2FBQ3ZFO1NBQ0YsQ0FBQztJQUNKLENBQUM7Q0FBQTtBQUVEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLFdBQVksU0FBUSxJQUFZO0lBQzNDLFlBQVksSUFBVTtRQUNwQixLQUFLLENBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNqQyxDQUFDO0NBQ0YifQ==