UserMembershipEntityConfigs.js 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. module.exports = {
  2. group: {
  3. modelName: 'Subscription',
  4. readOnly: true,
  5. hasMembersLimit: true,
  6. fields: {
  7. primaryKey: '_id',
  8. read: ['invited_emails', 'teamInvites', 'member_ids'],
  9. write: null,
  10. access: 'manager_ids',
  11. membership: 'member_ids',
  12. name: 'teamName',
  13. },
  14. baseQuery: {
  15. groupPlan: true,
  16. },
  17. },
  18. team: {
  19. // for metrics only
  20. modelName: 'Subscription',
  21. fields: {
  22. primaryKey: 'overleaf.id',
  23. access: 'manager_ids',
  24. },
  25. baseQuery: {
  26. groupPlan: true,
  27. },
  28. },
  29. groupManagers: {
  30. modelName: 'Subscription',
  31. fields: {
  32. primaryKey: '_id',
  33. read: ['manager_ids'],
  34. write: 'manager_ids',
  35. access: 'manager_ids',
  36. membership: 'member_ids',
  37. name: 'teamName',
  38. },
  39. baseQuery: {
  40. groupPlan: true,
  41. },
  42. },
  43. groupAdmin: {
  44. modelName: 'Subscription',
  45. fields: {
  46. primaryKey: '_id',
  47. read: ['admin_id'],
  48. write: 'admin_id',
  49. access: 'admin_id',
  50. membership: 'admin_id',
  51. name: 'teamName',
  52. },
  53. baseQuery: {
  54. groupPlan: true,
  55. },
  56. },
  57. institution: {
  58. modelName: 'Institution',
  59. fields: {
  60. primaryKey: 'v1Id',
  61. read: ['managerIds'],
  62. write: 'managerIds',
  63. access: 'managerIds',
  64. membership: 'member_ids',
  65. name: 'name',
  66. },
  67. pathsFor(id) {
  68. return {
  69. index: `/manage/institutions/${id}/managers`,
  70. }
  71. },
  72. },
  73. publisher: {
  74. modelName: 'Publisher',
  75. fields: {
  76. primaryKey: 'slug',
  77. read: ['managerIds'],
  78. write: 'managerIds',
  79. access: 'managerIds',
  80. membership: 'member_ids',
  81. name: 'name',
  82. },
  83. pathsFor(id) {
  84. return {
  85. index: `/manage/publishers/${id}/managers`,
  86. }
  87. },
  88. },
  89. }