| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- --- services/web/app/src/Features/Editor/EditorHttpController.js
- +++ services/web/app/src/Features/Editor/EditorHttpController.js
- @@ -73,6 +73,7 @@ async function joinProject(req, res, next) {
- if (isRestrictedUser) {
- project.owner = { _id: project.owner._id }
- project.members = []
- + project.invites = []
- }
- // Only show the 'renamed or deleted' message once
- if (project.deletedByExternalDataSource) {
- --- services/web/app/src/Features/Project/ProjectEditorHandler.js
- +++ services/web/app/src/Features/Project/ProjectEditorHandler.js
- @@ -48,19 +48,13 @@
- deletedDocsFromDocstore
- ),
- members: [],
- - invites,
- + invites: this.buildInvitesView(invites),
- imageName:
- project.imageName != null
- ? Path.basename(project.imageName)
- : undefined,
- }
- - if (result.invites == null) {
- - result.invites = []
- - }
- - result.invites.forEach(invite => {
- - delete invite.token
- - })
- ;({ owner, ownerFeatures, members } =
- this.buildOwnerAndMembersViews(members))
- result.owner = owner
- @@ -99,7 +93,7 @@
- let owner = null
- let ownerFeatures = null
- const filteredMembers = []
- - for (const member of Array.from(members || [])) {
- + for (const member of members || []) {
- if (member.privilegeLevel === 'owner') {
- ownerFeatures = member.user.features
- owner = this.buildUserModelView(member.user, 'owner')
- @@ -128,24 +122,15 @@
- },
- buildFolderModelView(folder) {
- - let file
- const fileRefs = _.filter(folder.fileRefs || [], file => file != null)
- return {
- _id: folder._id,
- name: folder.name,
- - folders: Array.from(folder.folders || []).map(childFolder =>
- + folders: (folder.folders || []).map(childFolder =>
- this.buildFolderModelView(childFolder)
- ),
- - fileRefs: (() => {
- - const result = []
- - for (file of Array.from(fileRefs)) {
- - result.push(this.buildFileModelView(file))
- - }
- - return result
- - })(),
- - docs: Array.from(folder.docs || []).map(doc =>
- - this.buildDocModelView(doc)
- - ),
- + fileRefs: fileRefs.map(file => this.buildFileModelView(file)),
- + docs: (folder.docs || []).map(doc => this.buildDocModelView(doc)),
- }
- },
- @@ -164,4 +149,21 @@
- name: doc.name,
- }
- },
- +
- + buildInvitesView(invites) {
- + if (invites == null) {
- + return []
- + }
- + return invites.map(invite =>
- + _.pick(invite, [
- + '_id',
- + 'createdAt',
- + 'email',
- + 'expires',
- + 'privileges',
- + 'projectId',
- + 'sendingUserId',
- + ])
- + )
- + },
- }
|