UserMembershipEntityConfigs.js 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. // TODO: This file was created by bulk-decaffeinate.
  2. // Sanity-check the conversion and remove this comment.
  3. /*
  4. * decaffeinate suggestions:
  5. * DS102: Remove unnecessary code created because of implicit returns
  6. * Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
  7. */
  8. module.exports = {
  9. group: {
  10. modelName: 'Subscription',
  11. readOnly: true,
  12. hasMembersLimit: true,
  13. fields: {
  14. primaryKey: '_id',
  15. read: ['invited_emails', 'teamInvites', 'member_ids'],
  16. write: null,
  17. access: 'manager_ids',
  18. name: 'teamName'
  19. },
  20. baseQuery: {
  21. groupPlan: true
  22. },
  23. translations: {
  24. title: 'group_account',
  25. subtitle: 'members_management',
  26. remove: 'remove_from_group'
  27. },
  28. pathsFor(id) {
  29. return {
  30. addMember: `/manage/groups/${id}/invites`,
  31. removeMember: `/manage/groups/${id}/user`,
  32. removeInvite: `/manage/groups/${id}/invites`,
  33. exportMembers: `/manage/groups/${id}/members/export`
  34. }
  35. }
  36. },
  37. team: {
  38. // for metrics only
  39. modelName: 'Subscription',
  40. fields: {
  41. primaryKey: 'overleaf.id',
  42. access: 'manager_ids'
  43. },
  44. baseQuery: {
  45. groupPlan: true
  46. }
  47. },
  48. groupManagers: {
  49. modelName: 'Subscription',
  50. fields: {
  51. primaryKey: '_id',
  52. read: ['manager_ids'],
  53. write: 'manager_ids',
  54. access: 'manager_ids',
  55. name: 'teamName'
  56. },
  57. baseQuery: {
  58. groupPlan: true
  59. },
  60. translations: {
  61. title: 'group_account',
  62. subtitle: 'managers_management',
  63. remove: 'remove_manager'
  64. },
  65. pathsFor(id) {
  66. return {
  67. addMember: `/manage/groups/${id}/managers`,
  68. removeMember: `/manage/groups/${id}/managers`
  69. }
  70. }
  71. },
  72. institution: {
  73. modelName: 'Institution',
  74. canCreate: true,
  75. fields: {
  76. primaryKey: 'v1Id',
  77. read: ['managerIds'],
  78. write: 'managerIds',
  79. access: 'managerIds',
  80. name: 'name'
  81. },
  82. translations: {
  83. title: 'institution_account',
  84. subtitle: 'managers_management',
  85. remove: 'remove_manager'
  86. },
  87. pathsFor(id) {
  88. return {
  89. index: `/manage/institutions/${id}/managers`,
  90. addMember: `/manage/institutions/${id}/managers`,
  91. removeMember: `/manage/institutions/${id}/managers`
  92. }
  93. }
  94. },
  95. publisher: {
  96. modelName: 'Publisher',
  97. canCreate: true,
  98. fields: {
  99. primaryKey: 'slug',
  100. read: ['managerIds'],
  101. write: 'managerIds',
  102. access: 'managerIds',
  103. name: 'name'
  104. },
  105. translations: {
  106. title: 'publisher_account',
  107. subtitle: 'managers_management',
  108. remove: 'remove_manager'
  109. },
  110. pathsFor(id) {
  111. return {
  112. index: `/manage/publishers/${id}/managers`,
  113. addMember: `/manage/publishers/${id}/managers`,
  114. removeMember: `/manage/publishers/${id}/managers`
  115. }
  116. }
  117. },
  118. conversion: {
  119. // for metrics only
  120. modelName: 'Publisher',
  121. fields: {
  122. primaryKey: 'slug',
  123. access: 'managerIds'
  124. }
  125. }
  126. }