import { BaseEntityClass } from '../base/base.entity'; import { AccountEntity, ACCOUNT_TYPE } from '../accounts'; import { DATA_SOURCE } from '../base'; export declare enum DATA_PROVIDER_SOURCE_TYPE { PROJECT = "project", GROUP = "group", SECTION = "section", TAG = "tag" } /** * sourceUrl: * - project (projectUrl) * - group (groupUrl) * - section (sectionUrl) */ export interface ProjectSourceMeta { lastSync?: number; provider: ACCOUNT_TYPE; sourceType: DATA_PROVIDER_SOURCE_TYPE; sourceUrl: string; sourceId: number; } export interface ProjectGitlabSourceMeta extends ProjectSourceMeta { } export interface ProjectData { } export declare class ProjectEntity extends BaseEntityClass { title: string; description: string; source: DATA_SOURCE; sourceMeta: ProjectSourceMeta | ProjectGitlabSourceMeta; data: ProjectData; dueAt: Date; /** * If the project relies on external data, a account contains the necessary credentials to access the data */ accounts: AccountEntity[]; constructor(partial: Partial); }