enterprise.ts 2.3 KB

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