@awhere/api
Version:
The awesome aWhere API for JavaScript.
91 lines (90 loc) • 3.74 kB
TypeScript
import { AccessRole, IItem, IUser } from '@awhere/interfaces';
import PrototypeBase from '../PrototypeBase';
import { Watcher } from '../Watcher';
export default class ItemBase extends PrototypeBase implements IItem {
static generateId(): string;
protected _name: string;
get name(): string;
set name(value: string);
protected _description?: string;
get description(): string | undefined;
set description(value: string | undefined);
protected _type: IItem['type'];
get type(): IItem['type'];
set type(value: IItem['type']);
protected _subtype?: IItem['subtype'];
get subtype(): IItem['subtype'];
set subtype(value: IItem['subtype']);
protected _owner: IUser | string;
get owner(): IUser | string;
set owner(value: IUser | string);
protected _parent?: IItem['parent'];
get parent(): IItem['parent'];
set parent(value: IItem['parent']);
protected _permission: IItem['permission'];
get permission(): IItem['permission'];
set permission(value: IItem['permission']);
protected _thumbnail?: IItem['thumbnail'];
get thumbnail(): IItem['thumbnail'];
set thumbnail(value: IItem['thumbnail']);
protected _progress?: IItem['progress'];
get progress(): IItem['progress'];
set progress(value: IItem['progress']);
protected _trashed?: IItem['trashed'];
get trashed(): IItem['trashed'];
set trashed(value: IItem['trashed']);
protected _lastModified?: IItem['lastModified'];
get lastModified(): IItem['lastModified'];
set lastModified(value: IItem['lastModified']);
protected _deletable?: IItem['deletable'];
get deletable(): IItem['deletable'];
set deletable(value: IItem['deletable']);
protected _hidden?: IItem['hidden'];
get hidden(): IItem['hidden'];
set hidden(value: IItem['hidden']);
protected _accessRole: AccessRole | keyof typeof AccessRole | undefined;
get accessRole(): AccessRole | keyof typeof AccessRole | undefined;
protected _importable?: IItem['importable'];
get importable(): IItem['importable'];
protected _exportable?: IItem['exportable'];
get exportable(): IItem['exportable'];
protected _executable?: IItem['executable'];
get executable(): IItem['executable'];
private _isNew;
constructor(props?: IItem);
isOwner(profile: IUser): boolean;
getAccessRole(user?: IUser | string): AccessRole | keyof typeof AccessRole | undefined;
save(): Promise<any>;
delete(): Promise<any>;
toJSON(): {
_id: string;
name: string;
description: string | undefined;
type: string | undefined;
subtype: string | undefined;
owner: string | undefined;
parent: string | undefined;
permission: import("@awhere/interfaces").IPermission | undefined;
thumbnail: string | undefined;
progress: "inprogress" | "done" | import("@awhere/interfaces").Progress | undefined;
trashed: boolean | undefined;
lastModified: string | undefined;
deletable: boolean | undefined;
hidden: boolean | undefined;
createdAt: string | undefined;
createdBy: string | undefined;
updatedAt: string | undefined;
updatedBy: string | undefined;
deleted: boolean;
deletedAt: string | undefined;
deletedBy: string | undefined;
props: any;
extendedProps: any;
organization: string | undefined;
accessRole: "owner" | "organizer" | "itemOrganizer" | "writer" | "commenter" | "reader" | AccessRole | undefined;
importable: boolean | undefined;
exportable: boolean | undefined;
executable: boolean | undefined;
};
watch(): Promise<Watcher>;
}