page.ts 1014 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. import { Ref } from './common';
  2. import { IUser } from './user';
  3. import { IRevision } from './revision';
  4. import { ITag } from './tag';
  5. import { HasObjectId } from './has-object-id';
  6. export type IPage = {
  7. path: string,
  8. status: string,
  9. revision: Ref<IRevision>,
  10. tags: Ref<ITag>[],
  11. creator: Ref<IUser>,
  12. createdAt: Date,
  13. updatedAt: Date,
  14. seenUsers: Ref<IUser>[],
  15. parent: Ref<IPage> | null,
  16. isEmpty: boolean,
  17. redirectTo: string,
  18. grant: number,
  19. grantedUsers: Ref<IUser>[],
  20. grantedGroup: Ref<any>,
  21. lastUpdateUser: Ref<IUser>,
  22. liker: Ref<IUser>[],
  23. commentCount: number
  24. slackChannels: string,
  25. pageIdOnHackmd: string,
  26. revisionHackmdSynced: Ref<IRevision>,
  27. hasDraftOnHackmd: boolean,
  28. deleteUser: Ref<IUser>,
  29. deletedAt: Date,
  30. }
  31. export type IPageInfo = {
  32. sumOfLikers: number
  33. likerIds: string[]
  34. seenUserIds: string[]
  35. isSeen: boolean
  36. isLiked: boolean
  37. }
  38. export type IPageHasId = IPage & HasObjectId;
  39. export type IPageForItem = Partial<IPageHasId & {isTarget?: boolean}>;