mirror of
https://github.com/overleaf/overleaf.git
synced 2025-04-11 21:35:32 +00:00
Refactor auth sources
This commit is contained in:
parent
1a4ffe7708
commit
6e09165452
4 changed files with 17 additions and 15 deletions
|
@ -0,0 +1,4 @@
|
|||
module.exports =
|
||||
INVITE: 'invite'
|
||||
TOKEN: 'token'
|
||||
OWNER: 'owner'
|
|
@ -10,11 +10,7 @@ PublicAccessLevels = require "../Authorization/PublicAccessLevels"
|
|||
Errors = require "../Errors/Errors"
|
||||
EmailHelper = require "../Helpers/EmailHelper"
|
||||
ProjectEditorHandler = require "../Project/ProjectEditorHandler"
|
||||
|
||||
Sources =
|
||||
INVITE: 'invite'
|
||||
TOKEN: 'token'
|
||||
OWNER: 'owner'
|
||||
Sources = require "../Authorization/Sources"
|
||||
|
||||
module.exports = CollaboratorsHandler =
|
||||
|
||||
|
|
|
@ -21,6 +21,7 @@ PrivilegeLevels = require("../Authorization/PrivilegeLevels")
|
|||
AuthenticationController = require("../Authentication/AuthenticationController")
|
||||
PackageVersions = require("../../infrastructure/PackageVersions")
|
||||
AnalyticsManager = require "../Analytics/AnalyticsManager"
|
||||
Sources = require "../Authorization/Sources"
|
||||
|
||||
module.exports = ProjectController =
|
||||
|
||||
|
@ -309,28 +310,28 @@ module.exports = ProjectController =
|
|||
_buildProjectList: (ownedProjects, readAndWriteProjects, readOnlyProjects, tokenReadAndWriteProjects, tokenReadOnlyProjects)->
|
||||
projects = []
|
||||
for project in ownedProjects
|
||||
projects.push ProjectController._buildProjectViewModel(project, "owner")
|
||||
projects.push ProjectController._buildProjectViewModel(project, "owner", Sources.OWNER)
|
||||
# Invite-access
|
||||
for project in readAndWriteProjects
|
||||
projects.push ProjectController._buildProjectViewModel(project, "readWrite")
|
||||
projects.push ProjectController._buildProjectViewModel(project, "readWrite", Sources.INVITE)
|
||||
for project in readOnlyProjects
|
||||
projects.push ProjectController._buildProjectViewModel(project, "readOnly")
|
||||
projects.push ProjectController._buildProjectViewModel(project, "readOnly", Sources.INVITE)
|
||||
# Token-access
|
||||
for project in tokenReadAndWriteProjects
|
||||
projects.push ProjectController._buildProjectViewModel(project, "tokenReadAndWrite")
|
||||
projects.push ProjectController._buildProjectViewModel(project, "readAndWrite", Sources.TOKEN)
|
||||
for project in tokenReadOnlyProjects
|
||||
projects.push ProjectController._buildProjectViewModel(project, "tokenReadOnly")
|
||||
projects.push ProjectController._buildProjectViewModel(project, "readOnly", Sources.TOKEN)
|
||||
|
||||
return projects
|
||||
|
||||
_buildProjectViewModel: (project, accessLevel) ->
|
||||
_buildProjectViewModel: (project, accessLevel, source) ->
|
||||
tokens =
|
||||
readOnly: ''
|
||||
readAndWrite: ''
|
||||
if project.tokens?
|
||||
if accessLevel in ['tokenReadAndWrite', 'owner']
|
||||
if accessLevel == 'owner' || (accessLevel == 'readAndWrite' && source == 'token')
|
||||
tokens.readAndWrite = project.tokens.readAndWrite
|
||||
if accessLevel in ['tokenReadOnly', 'owner']
|
||||
if accessLevel == 'owner' || (accessLevel == 'readOnly' && source == 'token')
|
||||
tokens.readOnly = project.tokens.readOnly
|
||||
model = {
|
||||
id: project._id
|
||||
|
@ -338,6 +339,7 @@ module.exports = ProjectController =
|
|||
lastUpdated: project.lastUpdated
|
||||
publicAccessLevel: project.publicAccesLevel
|
||||
accessLevel: accessLevel
|
||||
source: source
|
||||
archived: !!project.archived
|
||||
owner_ref: project.owner_ref
|
||||
tokens: tokens
|
||||
|
|
|
@ -456,9 +456,9 @@ define [
|
|||
App.controller "ProjectListItemController", ($scope) ->
|
||||
|
||||
$scope.projectLink = (project) ->
|
||||
if project.accessLevel == 'tokenReadAndWrite'
|
||||
if project.accessLevel == 'readAndWrite' and project.source == 'token'
|
||||
"/#{project.tokens.readAndWrite}"
|
||||
else if project.accessLevel == 'tokenReadOnly'
|
||||
else if project.accessLevel == 'readOnly' and project.source == 'token'
|
||||
"/read/#{project.tokens.readOnly}"
|
||||
else
|
||||
"/project/#{project.id}"
|
||||
|
|
Loading…
Add table
Reference in a new issue