teambition-sdk-socket
Version:
Front-End SDK for Teambition
70 lines (69 loc) • 1.86 kB
TypeScript
import { Schema, ISchema } from './schema';
import { ObjectLinkData } from '../schemas/ObjectLink';
import { FileId, CollectionId, TagId, ProjectId, UserId, visibility, ExecutorOrCreator } from '../teambition';
export interface FileData extends ISchema {
_id: FileId;
fileName: string;
fileType: string;
fileSize: number;
fileKey: string;
fileCategory: string;
imageWidth: number;
imageHeight: number;
_parentId: CollectionId;
_projectId: ProjectId;
_creatorId: UserId;
creator: ExecutorOrCreator;
tagIds: TagId[];
visible: visibility;
downloadUrl: string;
thumbnail: string;
thumbnailUrl: string;
description: string;
source: string;
involveMembers: UserId[];
created: string;
updated: string;
lastVersionTime: string;
isArchived: boolean;
previewUrl: string;
attachmentsCount?: number;
commentsCount?: number;
objectlinksCount?: number;
pinyin?: string;
py?: string;
class?: string;
creatorName?: string;
creatorAvatar?: string;
isFavorite?: boolean;
likesCount?: number;
linked?: ObjectLinkData[];
}
export default class File extends Schema<FileData> implements FileData {
_id: FileId;
fileName: string;
fileType: string;
fileSize: number;
fileKey: string;
fileCategory: string;
imageWidth: number;
imageHeight: number;
_parentId: CollectionId;
_projectId: ProjectId;
_creatorId: UserId;
creator: ExecutorOrCreator;
tagIds: TagId[];
visible: visibility;
downloadUrl: string;
thumbnail: string;
thumbnailUrl: string;
description: string;
source: string;
involveMembers: UserId[];
created: string;
updated: string;
lastVersionTime: string;
isArchived: boolean;
previewUrl: string;
linked?: ObjectLinkData[];
}