activity.ts 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350
  1. import { Ref } from './common';
  2. import { HasObjectId } from './has-object-id';
  3. import { IUser } from './user';
  4. // Model
  5. const MODEL_PAGE = 'Page';
  6. const MODEL_COMMENT = 'Comment';
  7. // Action
  8. const ACTION_UNSETTLED = 'UNSETTLED';
  9. const ACTION_REGISTRATION_SUCCESS = 'REGISTRATION_SUCCESS';
  10. const ACTION_LOGIN_SUCCESS = 'LOGIN_SUCCESS';
  11. const ACTION_LOGIN_FAILURE = 'LOGIN_FAILURE';
  12. const ACTION_LOGOUT = 'LOGOUT';
  13. const ACTION_USER_PERSONAL_SETTINGS_UPDATE = 'USER_PERSONAL_SETTINGS_UPDATE';
  14. const ACTION_USER_IMAGE_TYPE_UPDATE = 'USER_IMAGE_TYPE_UPDATE';
  15. const ACTION_USER_LDAP_ACCOUNT_ASSOCIATE = 'USER_LDAP_ACCOUNT_ASSOCIATE';
  16. const ACTION_USER_LDAP_ACCOUNT_DISCONNECT = 'USER_LDAP_ACCOUNT_DISCONNECT';
  17. const ACTION_USER_PASSWORD_UPDATE = 'USER_PASSWORD_UPDATE';
  18. const ACTION_USER_API_TOKEN_UPDATE = 'USER_API_TOKEN_UPDATE';
  19. const ACTION_USER_EDITOR_SETTINGS_UPDATE = 'USER_EDITOR_SETTINGS_UPDATE';
  20. const ACTION_USER_IN_APP_NOTIFICATION_SETTINGS_UPDATE = 'USER_IN_APP_NOTIFICATION_SETTINGS_UPDATE';
  21. const ACTION_PAGE_VIEW = 'PAGE_VIEW';
  22. const ACTION_PAGE_LIKE = 'PAGE_LIKE';
  23. const ACTION_PAGE_UNLIKE = 'PAGE_UNLIKE';
  24. const ACTION_PAGE_BOOKMARK = 'PAGE_BOOKMARK';
  25. const ACTION_PAGE_UNBOOKMARK = 'PAGE_UNBOOKMARK';
  26. const ACTION_PAGE_CREATE = 'PAGE_CREATE';
  27. const ACTION_PAGE_UPDATE = 'PAGE_UPDATE';
  28. const ACTION_PAGE_RENAME = 'PAGE_RENAME';
  29. const ACTION_PAGE_DUPLICATE = 'PAGE_DUPLICATE';
  30. const ACTION_PAGE_DELETE = 'PAGE_DELETE';
  31. const ACTION_PAGE_DELETE_COMPLETELY = 'PAGE_DELETE_COMPLETELY';
  32. const ACTION_PAGE_REVERT = 'PAGE_REVERT';
  33. const ACTION_COMMENT_CREATE = 'COMMENT_CREATE';
  34. const ACTION_COMMENT_UPDATE = 'COMMENT_UPDATE';
  35. const ACTION_COMMENT_REMOVE = 'COMMENT_REMOVE';
  36. const ACTION_ADMIN_APP_SETTINGS_UPDATE = 'ADMIN_APP_SETTING_UPDATE';
  37. const ACTION_ADMIN_SITE_URL_UPDATE = 'ADMIN_SITE_URL_UPDATE';
  38. const ACTION_ADMIN_MAIL_SMTP_UPDATE = 'ADMIN_MAIL_SMTP_UPDATE';
  39. const ACTION_ADMIN_MAIL_SES_UPDATE = 'ADMIN_MAIL_SES_UPDATE';
  40. const ACTION_ADMIN_MAIL_TEST_SUBMIT = 'ADMIN_MAIL_TEST_SUBMIT ';
  41. const ACTION_ADMIN_FILE_UPLOAD_CONFIG_UPDATE = 'ADMIN_FILE_UPLOAD_CONFIG_UPDATE';
  42. const ACTION_ADMIN_PLUGIN_UPDATE = 'ADMIN_PLUGIN_UPDATE';
  43. const ACTION_ADMIN_MAINTENANCEMODE_ENABLED = 'ADMIN_MAINTENANCEMODE_ENABLED';
  44. const ACTION_ADMIN_MAINTENANCEMODE_DISABLED = 'ADMIN_MAINTENANCEMODE_DISABLED';
  45. const ACTION_ADMIN_SECURITY_SETTINGS_UPDATE = 'ADMIN_SECURITY_SETTINGS_UPDATE';
  46. const ACTION_ADMIN_PERMIT_SHARE_LINK = 'ADMIN_PERMIT_SHARE_LINK';
  47. const ACTION_ADMIN_REJECT_SHARE_LINK = 'ADMIN_REJECT_SHARE_LINK';
  48. const ACTION_ADMIN_DELETE_ALL_SHARE_LINK = 'ADMIN_DELETE_ALL_SHARE_LINK';
  49. const ACTION_ADMIN_AUTH_ID_PASS_ENABLED = 'ADMIN_AUTH_ID_PASS_ENABLED';
  50. const ACTION_ADMIN_AUTH_ID_PASS_DISABLED = 'ADMIN_AUTH_ID_PASS_DISABLED';
  51. const ACTION_ADMIN_AUTH_ID_PASS_UPDATE = 'ADMIN_AUTH_ID_PASS_UPDATE';
  52. const ACTION_ADMIN_AUTH_LDAP_ENABLED = 'ADMIN_AUTH_LDAP_ENABLED';
  53. const ACTION_ADMIN_AUTH_LDAP_DISABLED = 'ADMIN_AUTH_LDAP_DISABLED';
  54. const ACTION_ADMIN_AUTH_LDAP_UPDATE = 'ADMIN_AUTH_LDAP_UPDATE';
  55. const ACTION_ADMIN_AUTH_SAML_ENABLED = 'ADMIN_AUTH_SAML_ENABLED';
  56. const ACTION_ADMIN_AUTH_SAML_DISABLED = 'ADMIN_AUTH_SAML_DISABLED';
  57. const ACTION_ADMIN_AUTH_SAML_UPDATE = 'ADMIN_AUTH_SAML_UPDATE';
  58. const ACTION_ADMIN_AUTH_OIDC_ENABLED = 'ADMIN_AUTH_OIDC_ENABLED';
  59. const ACTION_ADMIN_AUTH_OIDC_DISABLED = 'ADMIN_AUTH_OIDC_DISABLED';
  60. const ACTION_ADMIN_AUTH_OIDC_UPDATE = 'ADMIN_AUTH_OIDC_UPDATE';
  61. const ACTION_ADMIN_AUTH_BASIC_ENABLED = 'ADMIN_AUTH_BASIC_ENABLED';
  62. const ACTION_ADMIN_AUTH_BASIC_DISABLED = 'ADMIN_AUTH_BASIC_DISABLED';
  63. const ACTION_ADMIN_AUTH_BASIC_UPDATE = 'ADMIN_AUTH_BASIC_UPDATE';
  64. const ACTION_ADMIN_AUTH_GOOGLE_ENABLED = 'ADMIN_AUTH_GOOGLE_ENABLED';
  65. const ACTION_ADMIN_AUTH_GOOGLE_DISABLED = 'ADMIN_AUTH_GOOGLE_DISABLED';
  66. const ACTION_ADMIN_AUTH_GOOGLE_UPDATE = 'ADMIN_AUTH_GOOGLE_UPDATE';
  67. const ACTION_ADMIN_AUTH_GITHUB_ENABLED = 'ADMIN_AUTH_GITHUB_ENABLED';
  68. const ACTION_ADMIN_AUTH_GITHUB_DISABLED = 'ADMIN_AUTH_GITHUB_DISABLED';
  69. const ACTION_ADMIN_AUTH_GITHUB_UPDATE = 'ADMIN_AUTH_GITHUB_UPDATE';
  70. const ACTION_ADMIN_AUTH_TWITTER_ENABLED = 'ADMIN_AUTH_TWITTER_ENABLED';
  71. const ACTION_ADMIN_AUTH_TWITTER_DISABLED = 'ADMIN_AUTH_TWITTER_DISABLED';
  72. const ACTION_ADMIN_AUTH_TWITTER_UPDATE = 'ADMIN_AUTH_TWITTER_UPDATE';
  73. const ACTION_ADMIN_LINE_BREAK_UPDATE = 'ADMIN_LINE_BREAK_UPDATE';
  74. const ACTION_ADMIN_LAYOUT_UPDATE = 'ADMIN_LAYOUT_UPDATE';
  75. const ACTION_ADMIN_ARCHIVE_DATA_UPLOAD = 'ADMIN_ARCHIVE_DATA_UPLOAD';
  76. const ACTION_ADMIN_ARCHIVE_DATA_CREATE = 'ADMIN_ARCHIVE_DATA_CREATE';
  77. const ACTION_ADMIN_USER_NOTIFICATION_SETTINGS_ADD = 'ADMIN_USER_NOTIFICATION_SETTINGS_ADD';
  78. const ACTION_ADMIN_SLACK_WORKSPACE_CREATE = 'ADMIN_SLACK_WORKSPACE_CREATE';
  79. const ACTION_ADMIN_SLACK_CONFIGURATION_SETTING_UPDATE = 'ACTION_ADMIN_SLACK_CONFIGURATION_SETTING_UPDATE';
  80. const ACTION_ADMIN_USERS_INVITE = 'ADMIN_USERS_INVITE';
  81. const ACTION_ADMIN_USER_GROUP_CREATE = 'ADMIN_USER_GROUP_CREATE';
  82. const ACTION_ADMIN_USER_GROUP_UPDATE = 'ADMIN_USER_GROUP_UPDATE';
  83. const ACTION_ADMIN_USER_GROUP_DELETE = 'ADMIN_USER_GROUP_DELETE';
  84. const ACTION_ADMIN_USER_GROUP_ADD_USER = 'ADMIN_USER_GROUP_ADD_USER';
  85. const ACTION_ADMIN_SEARCH_INDICES_NORMALIZE = 'ADMIN_SEARCH_INDICES_NORMALIZE';
  86. const ACTION_ADMIN_SEARCH_INDICES_REBUILD = 'ADMIN_SEARCH_INDICES_REBUILD';
  87. export const SupportedTargetModel = {
  88. MODEL_PAGE,
  89. } as const;
  90. export const SupportedEventModel = {
  91. MODEL_COMMENT,
  92. } as const;
  93. export const SupportedAction = {
  94. ACTION_UNSETTLED,
  95. ACTION_REGISTRATION_SUCCESS,
  96. ACTION_LOGIN_SUCCESS,
  97. ACTION_LOGIN_FAILURE,
  98. ACTION_LOGOUT,
  99. ACTION_USER_PERSONAL_SETTINGS_UPDATE,
  100. ACTION_USER_IMAGE_TYPE_UPDATE,
  101. ACTION_USER_LDAP_ACCOUNT_ASSOCIATE,
  102. ACTION_USER_LDAP_ACCOUNT_DISCONNECT,
  103. ACTION_USER_PASSWORD_UPDATE,
  104. ACTION_USER_API_TOKEN_UPDATE,
  105. ACTION_USER_EDITOR_SETTINGS_UPDATE,
  106. ACTION_USER_IN_APP_NOTIFICATION_SETTINGS_UPDATE,
  107. ACTION_PAGE_VIEW,
  108. ACTION_PAGE_LIKE,
  109. ACTION_PAGE_UNLIKE,
  110. ACTION_PAGE_BOOKMARK,
  111. ACTION_PAGE_UNBOOKMARK,
  112. ACTION_PAGE_CREATE,
  113. ACTION_PAGE_UPDATE,
  114. ACTION_PAGE_RENAME,
  115. ACTION_PAGE_DUPLICATE,
  116. ACTION_PAGE_DELETE,
  117. ACTION_PAGE_DELETE_COMPLETELY,
  118. ACTION_PAGE_REVERT,
  119. ACTION_COMMENT_CREATE,
  120. ACTION_COMMENT_UPDATE,
  121. ACTION_COMMENT_REMOVE,
  122. ACTION_ADMIN_APP_SETTINGS_UPDATE,
  123. ACTION_ADMIN_SITE_URL_UPDATE,
  124. ACTION_ADMIN_MAIL_SMTP_UPDATE,
  125. ACTION_ADMIN_MAIL_SES_UPDATE,
  126. ACTION_ADMIN_MAIL_TEST_SUBMIT,
  127. ACTION_ADMIN_FILE_UPLOAD_CONFIG_UPDATE,
  128. ACTION_ADMIN_PLUGIN_UPDATE,
  129. ACTION_ADMIN_MAINTENANCEMODE_ENABLED,
  130. ACTION_ADMIN_MAINTENANCEMODE_DISABLED,
  131. ACTION_ADMIN_SECURITY_SETTINGS_UPDATE,
  132. ACTION_ADMIN_PERMIT_SHARE_LINK,
  133. ACTION_ADMIN_REJECT_SHARE_LINK,
  134. ACTION_ADMIN_DELETE_ALL_SHARE_LINK,
  135. ACTION_ADMIN_AUTH_ID_PASS_ENABLED,
  136. ACTION_ADMIN_AUTH_ID_PASS_DISABLED,
  137. ACTION_ADMIN_AUTH_ID_PASS_UPDATE,
  138. ACTION_ADMIN_AUTH_LDAP_ENABLED,
  139. ACTION_ADMIN_AUTH_LDAP_DISABLED,
  140. ACTION_ADMIN_AUTH_LDAP_UPDATE,
  141. ACTION_ADMIN_AUTH_SAML_ENABLED,
  142. ACTION_ADMIN_AUTH_SAML_DISABLED,
  143. ACTION_ADMIN_AUTH_SAML_UPDATE,
  144. ACTION_ADMIN_AUTH_OIDC_ENABLED,
  145. ACTION_ADMIN_AUTH_OIDC_DISABLED,
  146. ACTION_ADMIN_AUTH_OIDC_UPDATE,
  147. ACTION_ADMIN_AUTH_BASIC_ENABLED,
  148. ACTION_ADMIN_AUTH_BASIC_DISABLED,
  149. ACTION_ADMIN_AUTH_BASIC_UPDATE,
  150. ACTION_ADMIN_AUTH_GOOGLE_ENABLED,
  151. ACTION_ADMIN_AUTH_GOOGLE_DISABLED,
  152. ACTION_ADMIN_AUTH_GOOGLE_UPDATE,
  153. ACTION_ADMIN_AUTH_GITHUB_ENABLED,
  154. ACTION_ADMIN_AUTH_GITHUB_DISABLED,
  155. ACTION_ADMIN_AUTH_GITHUB_UPDATE,
  156. ACTION_ADMIN_AUTH_TWITTER_ENABLED,
  157. ACTION_ADMIN_AUTH_TWITTER_DISABLED,
  158. ACTION_ADMIN_AUTH_TWITTER_UPDATE,
  159. ACTION_ADMIN_LINE_BREAK_UPDATE,
  160. ACTION_ADMIN_LAYOUT_UPDATE,
  161. ACTION_ADMIN_ARCHIVE_DATA_UPLOAD,
  162. ACTION_ADMIN_ARCHIVE_DATA_CREATE,
  163. ACTION_ADMIN_USER_NOTIFICATION_SETTINGS_ADD,
  164. ACTION_ADMIN_SLACK_WORKSPACE_CREATE,
  165. ACTION_ADMIN_SLACK_CONFIGURATION_SETTING_UPDATE,
  166. ACTION_ADMIN_USERS_INVITE,
  167. ACTION_ADMIN_USER_GROUP_CREATE,
  168. ACTION_ADMIN_USER_GROUP_UPDATE,
  169. ACTION_ADMIN_USER_GROUP_DELETE,
  170. ACTION_ADMIN_USER_GROUP_ADD_USER,
  171. ACTION_ADMIN_SEARCH_INDICES_NORMALIZE,
  172. ACTION_ADMIN_SEARCH_INDICES_REBUILD,
  173. } as const;
  174. // Action required for notification
  175. export const EssentialActionGroup = {
  176. ACTION_PAGE_LIKE,
  177. ACTION_PAGE_BOOKMARK,
  178. ACTION_PAGE_UPDATE,
  179. ACTION_PAGE_RENAME,
  180. ACTION_PAGE_DUPLICATE,
  181. ACTION_PAGE_DELETE,
  182. ACTION_PAGE_DELETE_COMPLETELY,
  183. ACTION_PAGE_REVERT,
  184. ACTION_COMMENT_CREATE,
  185. } as const;
  186. export const ActionGroupSize = {
  187. Small: 'SMALL',
  188. Medium: 'MEDIUM',
  189. Large: 'LARGE',
  190. } as const;
  191. export const SmallActionGroup = {
  192. ACTION_LOGIN_SUCCESS,
  193. ACTION_LOGIN_FAILURE,
  194. ACTION_LOGOUT,
  195. ACTION_PAGE_CREATE,
  196. ACTION_PAGE_DELETE,
  197. } as const;
  198. // SmallActionGroup + Action by all General Users - PAGE_VIEW
  199. export const MediumActionGroup = {
  200. ...SmallActionGroup,
  201. ACTION_USER_PERSONAL_SETTINGS_UPDATE,
  202. ACTION_USER_IMAGE_TYPE_UPDATE,
  203. ACTION_USER_LDAP_ACCOUNT_ASSOCIATE,
  204. ACTION_USER_LDAP_ACCOUNT_DISCONNECT,
  205. ACTION_USER_PASSWORD_UPDATE,
  206. ACTION_USER_API_TOKEN_UPDATE,
  207. ACTION_USER_EDITOR_SETTINGS_UPDATE,
  208. ACTION_USER_IN_APP_NOTIFICATION_SETTINGS_UPDATE,
  209. ACTION_PAGE_LIKE,
  210. ACTION_PAGE_UNLIKE,
  211. ACTION_PAGE_BOOKMARK,
  212. ACTION_PAGE_UNBOOKMARK,
  213. ACTION_PAGE_CREATE,
  214. ACTION_PAGE_UPDATE,
  215. ACTION_PAGE_RENAME,
  216. ACTION_PAGE_DUPLICATE,
  217. ACTION_PAGE_DELETE,
  218. ACTION_PAGE_DELETE_COMPLETELY,
  219. ACTION_PAGE_REVERT,
  220. ACTION_COMMENT_CREATE,
  221. ACTION_COMMENT_UPDATE,
  222. ACTION_COMMENT_REMOVE,
  223. } as const;
  224. // MediumActionGroup + All Actions by Admin Users - PAGE_VIEW
  225. export const LargeActionGroup = {
  226. ...MediumActionGroup,
  227. ACTION_ADMIN_APP_SETTINGS_UPDATE,
  228. ACTION_ADMIN_SITE_URL_UPDATE,
  229. ACTION_ADMIN_MAIL_SMTP_UPDATE,
  230. ACTION_ADMIN_MAIL_SES_UPDATE,
  231. ACTION_ADMIN_MAIL_TEST_SUBMIT,
  232. ACTION_ADMIN_FILE_UPLOAD_CONFIG_UPDATE,
  233. ACTION_ADMIN_PLUGIN_UPDATE,
  234. ACTION_ADMIN_MAINTENANCEMODE_ENABLED,
  235. ACTION_ADMIN_MAINTENANCEMODE_DISABLED,
  236. ACTION_ADMIN_SECURITY_SETTINGS_UPDATE,
  237. ACTION_ADMIN_PERMIT_SHARE_LINK,
  238. ACTION_ADMIN_REJECT_SHARE_LINK,
  239. ACTION_ADMIN_DELETE_ALL_SHARE_LINK,
  240. ACTION_ADMIN_AUTH_ID_PASS_ENABLED,
  241. ACTION_ADMIN_AUTH_ID_PASS_DISABLED,
  242. ACTION_ADMIN_AUTH_ID_PASS_UPDATE,
  243. ACTION_ADMIN_AUTH_LDAP_ENABLED,
  244. ACTION_ADMIN_AUTH_LDAP_DISABLED,
  245. ACTION_ADMIN_AUTH_LDAP_UPDATE,
  246. ACTION_ADMIN_AUTH_SAML_ENABLED,
  247. ACTION_ADMIN_AUTH_SAML_DISABLED,
  248. ACTION_ADMIN_AUTH_SAML_UPDATE,
  249. ACTION_ADMIN_AUTH_OIDC_ENABLED,
  250. ACTION_ADMIN_AUTH_OIDC_DISABLED,
  251. ACTION_ADMIN_AUTH_OIDC_UPDATE,
  252. ACTION_ADMIN_AUTH_BASIC_ENABLED,
  253. ACTION_ADMIN_AUTH_BASIC_DISABLED,
  254. ACTION_ADMIN_AUTH_BASIC_UPDATE,
  255. ACTION_ADMIN_AUTH_GOOGLE_ENABLED,
  256. ACTION_ADMIN_AUTH_GOOGLE_DISABLED,
  257. ACTION_ADMIN_AUTH_GOOGLE_UPDATE,
  258. ACTION_ADMIN_AUTH_GITHUB_ENABLED,
  259. ACTION_ADMIN_AUTH_GITHUB_DISABLED,
  260. ACTION_ADMIN_AUTH_GITHUB_UPDATE,
  261. ACTION_ADMIN_AUTH_TWITTER_ENABLED,
  262. ACTION_ADMIN_AUTH_TWITTER_DISABLED,
  263. ACTION_ADMIN_AUTH_TWITTER_UPDATE,
  264. ACTION_ADMIN_LINE_BREAK_UPDATE,
  265. ACTION_ADMIN_LAYOUT_UPDATE,
  266. ACTION_ADMIN_ARCHIVE_DATA_UPLOAD,
  267. ACTION_ADMIN_ARCHIVE_DATA_CREATE,
  268. ACTION_ADMIN_USER_NOTIFICATION_SETTINGS_ADD,
  269. ACTION_ADMIN_SLACK_WORKSPACE_CREATE,
  270. ACTION_ADMIN_SLACK_CONFIGURATION_SETTING_UPDATE,
  271. ACTION_ADMIN_USERS_INVITE,
  272. ACTION_ADMIN_USER_GROUP_CREATE,
  273. ACTION_ADMIN_USER_GROUP_UPDATE,
  274. ACTION_ADMIN_USER_GROUP_DELETE,
  275. ACTION_ADMIN_USER_GROUP_ADD_USER,
  276. ACTION_ADMIN_SEARCH_INDICES_NORMALIZE,
  277. ACTION_ADMIN_SEARCH_INDICES_REBUILD,
  278. } as const;
  279. /*
  280. * For AuditLogManagement.tsx
  281. */
  282. export const PageActions = Object.values({
  283. ACTION_PAGE_LIKE,
  284. ACTION_PAGE_BOOKMARK,
  285. ACTION_PAGE_CREATE,
  286. ACTION_PAGE_UPDATE,
  287. ACTION_PAGE_RENAME,
  288. ACTION_PAGE_DUPLICATE,
  289. ACTION_PAGE_DELETE,
  290. ACTION_PAGE_DELETE_COMPLETELY,
  291. ACTION_PAGE_REVERT,
  292. } as const);
  293. export const CommentActions = Object.values({
  294. ACTION_COMMENT_CREATE,
  295. ACTION_COMMENT_UPDATE,
  296. } as const);
  297. /*
  298. * Array
  299. */
  300. export const AllSupportedTargetModels = Object.values(SupportedTargetModel);
  301. export const AllSupportedEventModels = Object.values(SupportedEventModel);
  302. export const AllSupportedActions = Object.values(SupportedAction);
  303. export const AllEssentialActions = Object.values(EssentialActionGroup);
  304. export const AllSmallGroupActions = Object.values(SmallActionGroup);
  305. export const AllMediumGroupActions = Object.values(MediumActionGroup);
  306. export const AllLargeGroupActions = Object.values(LargeActionGroup);
  307. /*
  308. * Type
  309. */
  310. export type SupportedTargetModelType = typeof SupportedTargetModel[keyof typeof SupportedTargetModel];
  311. export type SupportedEventModelType = typeof SupportedEventModel[keyof typeof SupportedEventModel];
  312. export type SupportedActionType = typeof SupportedAction[keyof typeof SupportedAction];
  313. export type ISnapshot = Partial<Pick<IUser, 'username'>>
  314. export type IActivity = {
  315. user?: Ref<IUser>
  316. ip?: string
  317. endpoint?: string
  318. targetModel?: SupportedTargetModelType
  319. target?: string
  320. eventModel?: SupportedEventModelType
  321. event?: string
  322. action: SupportedActionType
  323. createdAt: Date
  324. snapshot?: ISnapshot
  325. }
  326. export type IActivityHasId = IActivity & HasObjectId;
  327. export type ISearchFilter = {
  328. usernames?: string[]
  329. dates?: {startDate: string | null, endDate: string | null}
  330. actions?: SupportedActionType[]
  331. }