Files
overleaf-cep/services/web/app/src/Features/UserMembership/UserMembershipEntityConfigs.js
T
Davinder Singh 72243b53a5 Merge pull request #13591 from overleaf/ab-account-enrollment
[web] Managed users - account enrollment

GitOrigin-RevId: 6fc9ef8c44394eb92d3afd2022433b0b6d508503
2023-07-17 10:59:02 +00:00

118 lines
2.7 KiB
JavaScript

module.exports = {
group: {
modelName: 'Subscription',
readOnly: true,
hasMembersLimit: true,
fields: {
primaryKey: '_id',
read: ['invited_emails', 'teamInvites', 'member_ids'],
write: null,
access: 'manager_ids',
membership: 'member_ids',
name: 'teamName',
},
baseQuery: {
groupPlan: true,
},
translations: {
title: 'group_subscription',
subtitle: 'members_management',
remove: 'remove_from_group',
},
pathsFor(id) {
return {
addMember: `/manage/groups/${id}/invites`,
removeMember: `/manage/groups/${id}/user`,
removeInvite: `/manage/groups/${id}/invites`,
exportMembers: `/manage/groups/${id}/members/export`,
}
},
},
team: {
// for metrics only
modelName: 'Subscription',
fields: {
primaryKey: 'overleaf.id',
access: 'manager_ids',
},
baseQuery: {
groupPlan: true,
},
},
groupManagers: {
modelName: 'Subscription',
fields: {
primaryKey: '_id',
read: ['manager_ids'],
write: 'manager_ids',
access: 'manager_ids',
membership: 'member_ids',
name: 'teamName',
},
baseQuery: {
groupPlan: true,
},
translations: {
title: 'group_subscription',
subtitle: 'managers_management',
remove: 'remove_manager',
},
pathsFor(id) {
return {
addMember: `/manage/groups/${id}/managers`,
removeMember: `/manage/groups/${id}/managers`,
}
},
},
institution: {
modelName: 'Institution',
fields: {
primaryKey: 'v1Id',
read: ['managerIds'],
write: 'managerIds',
access: 'managerIds',
membership: 'member_ids',
name: 'name',
},
translations: {
title: 'institution_account',
subtitle: 'managers_management',
remove: 'remove_manager',
},
pathsFor(id) {
return {
index: `/manage/institutions/${id}/managers`,
addMember: `/manage/institutions/${id}/managers`,
removeMember: `/manage/institutions/${id}/managers`,
}
},
},
publisher: {
modelName: 'Publisher',
fields: {
primaryKey: 'slug',
read: ['managerIds'],
write: 'managerIds',
access: 'managerIds',
membership: 'member_ids',
name: 'name',
},
translations: {
title: 'publisher_account',
subtitle: 'managers_management',
remove: 'remove_manager',
},
pathsFor(id) {
return {
index: `/manage/publishers/${id}/managers`,
addMember: `/manage/publishers/${id}/managers`,
removeMember: `/manage/publishers/${id}/managers`,
}
},
},
}