finish snippets
This commit is contained in:
@@ -6,6 +6,20 @@
|
||||
const Out = _flitter.model('v1:Out')
|
||||
const Project = _flitter.model('v1:Project')
|
||||
const Invite = _flitter.model('v1:Invite')
|
||||
const Snippet = _flitter.model('v1:Snippet')
|
||||
const share_api = {
|
||||
project: Project,
|
||||
snippet: Snippet,
|
||||
}
|
||||
const share_views = {
|
||||
project: async function(item){
|
||||
return '/dash/v1/project/view/'+item.id
|
||||
},
|
||||
snippet: async function(item){
|
||||
const project = await Project.findById(item.project_id);
|
||||
return '/dash/v1/project/snippet/'+project.id+'/view/'+item.uuid
|
||||
},
|
||||
}
|
||||
class v1 {
|
||||
|
||||
/*
|
||||
@@ -74,8 +88,9 @@ class v1 {
|
||||
|
||||
if ( invite.used ) _flitter.error(res, 401, {reason: 'This invitation link has been used or has expired.'})
|
||||
|
||||
const project = await Project.findById(invite.project_id)
|
||||
if ( !project ) _flitter.error(res, 404, {reason: 'This project no longer exists.'})
|
||||
const share_model = share_api[invite.api_type];
|
||||
const project = await share_model.findById(invite.project_id)
|
||||
if ( !project ) _flitter.error(res, 404, {reason: 'This '+invite.api_type+' no longer exists.'})
|
||||
|
||||
const user = await _flitter.model('User').findOne({uuid: invite.by_user_id})
|
||||
if ( !user ) _flitter.error(res, 500, {reason: 'This user no longer exists. Sorry.'})
|
||||
@@ -89,8 +104,9 @@ class v1 {
|
||||
|
||||
if ( invite.used ) _flitter.error(res, 401, {reason: 'This invitation link has been used or has expired.'})
|
||||
|
||||
const project = await Project.findById(invite.project_id)
|
||||
if ( !project ) _flitter.error(res, 404, {reason: 'This project no longer exists.'})
|
||||
const share_model = share_api[invite.api_type];
|
||||
const project = await share_model.findById(invite.project_id)
|
||||
if ( !project ) _flitter.error(res, 404, {reason: 'This '+invite.api_type+' no longer exists.'})
|
||||
|
||||
const user = await _flitter.model('User').findOne({uuid: invite.by_user_id})
|
||||
if ( !user ) _flitter.error(res, 500, {reason: 'This user no longer exists. Sorry.'})
|
||||
@@ -103,7 +119,7 @@ class v1 {
|
||||
}
|
||||
invite.used = true
|
||||
await invite.save()
|
||||
return res.redirect('/dash/v1')
|
||||
return res.redirect(await share_views[invite.api_type](project))
|
||||
}
|
||||
else {
|
||||
req.session.invite = true
|
||||
|
||||
Reference in New Issue
Block a user