UNPKG

burdy

Version:

Open Source Headless Platform

170 lines (169 loc) 3.36 kB
import { FindManyOptions } from 'typeorm'; export declare enum UserStatus { ACTIVE = "active", NOT_ACTIVATED = "not_activated", DISABLED = "disabled" } export declare enum UserTokenType { RESET = "reset", ACTIVATE = "activate" } export interface IUser { id: number; email: string; firstName?: string; lastName?: string; password: string; status: UserStatus; createdAt: Date; updatedAt: Date; meta: IUserMeta[]; sessions: IUserSession[]; tokens: IUserToken[]; groups: IGroup[]; } export interface IUserMeta { id: number; key: string; value: string; user: IUser; } export interface IUserSession { id: number; expiresAt: Date; user: IUser; } export interface IUserToken { id: number; token: string; data: any; expiresAt: Date; type: UserTokenType; user: IUser; } export interface IOption<T> { perPage: number; page: number; query?: FindManyOptions<T>; } export interface IPage<T> { results: T[]; paginate: { total: number; current: number; pageSize: number; }; } export interface IAssetMeta { id?: number; key: string; value: string; asset?: IAsset; } export interface IAsset { id: number; name: string; provider?: string; document?: string; mimeType?: string; contentLength?: number; createdAt: Date; updatedAt: Date; parent?: IAsset; parentId?: number; children?: IAsset[]; ancestors?: IAsset[]; meta?: IAssetMeta[]; tags?: ITag[]; thumbnail?: string; npath?: string; } export interface ITagMeta { id: number; key: string; value: string; tag?: ITag; } export interface ITag { id: number; name: string; slug: string; createdAt: Date; updatedAt: Date; parent?: ITag; parentId?: number; author: IUser; meta?: ITagMeta[]; slugPath?: string; } export interface IPostMeta { id?: number; key: string; value: string; post?: IPost; } export interface IPost { id: number; name?: string; slug?: string; type?: string; createdAt?: Date; updatedAt?: Date; publishedAt?: Date; publishedFrom?: Date; publishedUntil?: Date; status?: string; parent?: IPost; parentId?: number; content?: any; meta?: IPostMeta[]; children?: IPost[]; ancestors?: IPost[]; author?: IUser; slugPath?: string; tags?: ITag[]; contentTypeId?: number; contentType?: IContentType; versionId?: number; } export interface IContentType { id: number; name: string; type: string; createdAt: Date; updatedAt: Date; fields?: any[]; } export interface IGroup { id: number; name: string; permissions: string[]; protected: boolean; description?: string; users?: IUser[]; } export declare enum IBackupState { PENDING = "pending", READY = "ready" } export interface IBackup { id: number; name: string; document: string; provider: string; state: IBackupState; createdAt: Date; includes: string[]; } export interface IAccessToken { id: number; token: string; description?: string; createdAt?: Date; updatedAt?: Date; } export interface ISiteSettings { id: number; key?: string; value?: string; }