user-group-response.ts 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. import type {
  2. HasObjectId, Ref,
  3. IPageHasId,
  4. IUserGroup, IUserGroupHasId, IUserGroupRelationHasId, IUserHasId,
  5. } from '@growi/core';
  6. export type UserGroupResult = {
  7. userGroup: IUserGroupHasId,
  8. }
  9. export type UserGroupListResult<TUSERGROUP extends IUserGroupHasId = IUserGroupHasId> = {
  10. userGroups: TUSERGROUP[],
  11. };
  12. export type ChildUserGroupListResult<TUSERGROUP extends IUserGroupHasId = IUserGroupHasId> = {
  13. childUserGroups: TUSERGROUP[],
  14. grandChildUserGroups: TUSERGROUP[],
  15. };
  16. export type UserGroupRelationListResult<TUSERGROUPRELATION extends IUserGroupRelationHasId = IUserGroupRelationHasId> = {
  17. userGroupRelations: TUSERGROUPRELATION[],
  18. };
  19. export type IUserGroupRelationHasIdPopulatedUser<TUSERGROUP extends IUserGroup = IUserGroup> = {
  20. relatedGroup: Ref<TUSERGROUP>,
  21. relatedUser: IUserHasId,
  22. createdAt: Date,
  23. } & HasObjectId;
  24. export type UserGroupRelationsResult = {
  25. userGroupRelations: IUserGroupRelationHasIdPopulatedUser[],
  26. };
  27. export type UserGroupPagesResult = {
  28. pages: IPageHasId[],
  29. }
  30. export type SelectableParentUserGroupsResult = {
  31. selectableParentGroups: IUserGroupHasId[],
  32. }
  33. export type SelectableUserChildGroupsResult = {
  34. selectableChildGroups: IUserGroupHasId[],
  35. }
  36. export type AncestorUserGroupsResult = {
  37. ancestorUserGroups: IUserGroupHasId[],
  38. }