enterprise.ts 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. import { IProCptItem } from './compilation';
  2. export enum Relationship {
  3. ADMIN = 'admin',
  4. STAFF = 'staff',
  5. IRRELEVANT = 'irrelevant',
  6. }
  7. export enum MemberRole {
  8. ADMIN = 'admin',
  9. STAFF = 'staff',
  10. }
  11. export enum MemberStatus {
  12. NORMAL = 'normal',
  13. DISABLED = 'disabled',
  14. UNCONFIRMED = 'unconfirmed',
  15. }
  16. export interface IMember {
  17. userID: string;
  18. memberName: string;
  19. position: string;
  20. role: MemberRole;
  21. status: MemberStatus;
  22. cptList: string[];
  23. createProject: boolean;
  24. projectView: 'self' | 'all';
  25. editProject: 'self' | 'all';
  26. exportProject: 'disabled' | 'self' | 'all';
  27. importProject: 'disabled' | 'self' | 'all';
  28. shareProject: 'disabled' | 'self' | 'all';
  29. }
  30. export interface IEnterprise {
  31. ID: string;
  32. members: IMember[];
  33. activated: boolean;
  34. licenceNum: number;
  35. proCptList: IProCptItem[];
  36. usedCptList: string[];
  37. // 公司名称
  38. name: string;
  39. logo: string;
  40. location: string[];
  41. // 公司类型
  42. type: string;
  43. scale: string;
  44. createTime: number;
  45. subdomain: string;
  46. domain: string;
  47. icp: string;
  48. ip: string;
  49. logoutRule: string;
  50. }
  51. export enum EnterpriseLogType {
  52. INVITE = 'invite',
  53. REMOVE = 'remove',
  54. TRANSFER = 'transfer',
  55. PERMISSION = 'permission',
  56. ENTERPRISE_NAME = 'enterpriseName',
  57. ENTERPRISE_INFO = 'enterpriseInfo',
  58. LOGO = 'logo',
  59. SUBDOMAIN = 'subdomain',
  60. RESET_PASSWORD = 'resetPassword',
  61. LOGOUT_RULE = 'logoutRule',
  62. }
  63. export interface IEnterpriseLog {
  64. enterpriseID: string;
  65. browser: string;
  66. os: string;
  67. ip: string;
  68. ipInfo: string;
  69. userID: string;
  70. mobile: string;
  71. memberName: string;
  72. event: EnterpriseLogType;
  73. content: string;
  74. createTime: number;
  75. }
  76. export enum SystemLogType {
  77. CREATE = 'create',
  78. ENTERPRISE_NAME = 'enterpriseName',
  79. NEW_ADMIN = 'newAdmin',
  80. LICENCE = 'licence',
  81. ADD_CPT = 'addCpt',
  82. UPDATE_CPT = 'updateCpt',
  83. CPT_EXPIRED = 'cptExpired',
  84. }
  85. export interface ISystemLog {
  86. enterpriseID: string;
  87. from: 'system' | 'platform';
  88. event: SystemLogType;
  89. content: string;
  90. time: number;
  91. }