Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
Wolfgang Knopki
Spacedeck-open-SAML
Commits
3edde7c5
Commit
3edde7c5
authored
Apr 09, 2020
by
mntmn
Browse files
remove more dead code
parent
01a6bec8
Changes
8
Hide whitespace changes
Inline
Side-by-side
public/javascripts/backend.js
View file @
3edde7c5
...
...
@@ -133,14 +133,6 @@ function load_spaces(id, is_home, on_success, on_error) {
},
on_error
);
}
function
load_importables
(
user
,
on_success
,
on_error
)
{
load_resource
(
"
get
"
,
"
/users/
"
+
user
.
_id
+
"
/importables
"
,
null
,
on_success
,
on_error
);
}
function
import_zip
(
user
,
filename
,
on_success
,
on_error
)
{
load_resource
(
"
get
"
,
"
/users/
"
+
user
.
_id
+
"
/import?zip=
"
+
filename
,
null
,
on_success
,
on_error
);
}
function
load_history
(
s
,
on_success
,
on_error
)
{
load_resource
(
"
get
"
,
"
/spaces/
"
+
s
.
_id
+
"
/digest
"
,
null
,
on_success
,
on_error
);
}
...
...
public/javascripts/spacedeck_account.js
View file @
3edde7c5
...
...
@@ -9,19 +9,12 @@ SpacedeckAccount = {
account_tab
:
'
invoices
'
,
password_change_error
:
null
,
feedback_text
:
""
,
importables
:
[],
// spacedeck.com zip import files
},
methods
:
{
show_account
:
function
()
{
this
.
activate_dropdown
(
'
account
'
);
},
start_zip_import
:
function
(
f
)
{
if
(
confirm
(
"
Your archive will be imported in the background. This can take a few minutes. You can continue using Spacedeck in the meantime.
"
))
{
import_zip
(
this
.
user
,
f
);
}
},
account_save_user_digest
:
function
(
val
)
{
this
.
user
.
prefs_email_digest
=
val
;
this
.
save_user
(
function
()
{
...
...
public/javascripts/spacedeck_spaces.js
View file @
3edde7c5
...
...
@@ -108,27 +108,6 @@ var SpacedeckSpaces = {
space_auth
=
get_query_param
(
"
spaceAuth
"
);
var
userReady
=
function
()
{
if
(
get_query_param
(
"
embedded
"
))
{
this
.
embedded
=
true
;
this
.
guest_signup_enabled
=
true
;
if
(
get_query_param
(
"
publish_cta
"
))
{
this
.
publish_cta
=
get_query_param
(
"
publish_cta
"
);
}
if
(
get_query_param
(
"
nosocial
"
))
{
this
.
social_bar
=
false
;
}
}
if
(
get_query_param
(
"
confirm
"
)
&&
this
.
logged_in
)
{
var
token
=
get_query_param
(
"
confirm
"
);
confirm_user
(
this
.
user
,
token
,
function
()
{
this
.
redirect_to
(
"
/spaces/
"
+
space_id
+
"
?show_access=1
"
);
}.
bind
(
this
),
function
()
{
alert
(
"
An error occured confirming your email with the given token.
"
);
});
return
;
}
this
.
close_dropdown
();
this
.
active_space_loaded
=
false
;
...
...
@@ -156,9 +135,7 @@ var SpacedeckSpaces = {
load_space
(
space_id
,
function
(
space
,
role
)
{
document
.
title
=
space
.
name
;
this
.
active_space_role
=
role
||
"
viewer
"
;
//via req header from backend
this
.
space_embed_html
=
"
<iframe width=
\"
1024
\"
height=
\"
768
\"
seamless src=
\"
"
+
ENV
.
webEndpoint
+
"
/spaces/
"
+
space
.
_id
+
"
?embedded=1
\"
></iframe>
"
;
this
.
active_space_role
=
role
||
"
viewer
"
;
// via req header from backend
if
(
!
is_home
)
{
load_members
(
space
,
function
(
members
)
{
...
...
public/javascripts/spacedeck_users.js
View file @
3edde7c5
...
...
@@ -31,12 +31,6 @@ SpacedeckUsers = {
if
(
on_success
)
{
on_success
(
user
);
}
// see spacedeck_account.js
load_importables
(
this
.
user
,
function
(
files
)
{
this
.
importables
=
files
;
}.
bind
(
this
));
}.
bind
(
this
),
function
()
{
// error
this
.
loading_user
=
false
;
...
...
routes/api/spaces.js
View file @
3edde7c5
...
...
@@ -49,7 +49,6 @@ router.get('/', function(req, res, next) {
});
}
else
{
if
(
req
.
query
.
search
)
{
db
.
Membership
.
findAll
({
where
:{
user_id
:
req
.
user
.
_id
}}).
then
(
memberships
=>
{
...
...
@@ -304,43 +303,6 @@ router.post('/:id/background', function(req, res, next) {
});
});
var
handleDuplicateSpaceRequest
=
function
(
req
,
res
,
parentSpace
)
{
Space
.
duplicateSpace
(
req
.
space
,
req
.
user
,
0
,
(
err
,
newSpace
)
=>
{
if
(
err
)
{
console
.
error
(
err
);
res
.
status
(
400
).
json
(
err
);
}
else
{
res
.
status
(
201
).
json
(
newSpace
);
}
},
parentSpace
);
}
router
.
post
(
'
/:id/duplicate
'
,
(
req
,
res
,
next
)
=>
{
if
(
req
.
query
.
parent_space_id
)
{
Space
.
findOne
({
_id
:
req
.
query
.
parent_space_id
}).
populate
(
'
creator
'
,
userMapping
).
exec
((
err
,
parentSpace
)
=>
{
if
(
!
parentSpace
)
{
res
.
status
(
404
).
json
({
"
error
"
:
"
parent space not found for duplicate
"
});
}
else
{
db
.
getUserRoleInSpace
(
parentSpace
,
req
.
user
,
(
role
)
=>
{
if
(
role
==
"
admin
"
||
role
==
"
editor
"
)
{
handleDuplicateSpaceRequest
(
req
,
res
,
parentSpace
);
}
else
{
res
.
status
(
403
).
json
({
"
error
"
:
"
not authed for parent_space_id
"
});
}
});
}
});
}
else
{
handleDuplicateSpaceRequest
(
req
,
res
);
}
});
router
.
delete
(
'
/:id
'
,
function
(
req
,
res
,
next
)
{
if
(
req
.
user
)
{
const
space
=
req
.
space
;
...
...
@@ -360,136 +322,4 @@ router.delete('/:id', function(req, res, next) {
}
});
router
.
post
(
'
/:id/artifacts-pdf
'
,
function
(
req
,
res
,
next
)
{
if
(
req
.
spaceRole
==
"
editor
"
||
req
.
spaceRole
==
"
admin
"
)
{
var
withZones
=
(
req
.
query
.
zones
)
?
req
.
query
.
zones
==
"
true
"
:
false
;
var
fileName
=
(
req
.
query
.
filename
||
"
upload.bin
"
).
replace
(
/
[^
a-zA-Z0-9
\.]
/g
,
''
);
var
localFilePath
=
os
.
tmpdir
()
+
"
/
"
+
fileName
;
var
writeStream
=
fs
.
createWriteStream
(
localFilePath
);
var
stream
=
req
.
pipe
(
writeStream
);
req
.
on
(
'
end
'
,
function
()
{
var
rawName
=
fileName
.
slice
(
0
,
fileName
.
length
-
4
);
var
outputFolder
=
os
.
tmpdir
()
+
"
/
"
+
rawName
;
fs
.
mkdir
(
outputFolder
,
function
(
err
)
{
var
images
=
outputFolder
+
"
/
"
+
rawName
+
"
-page-%03d.jpeg
"
;
// FIXME not portable
exec
.
execFile
(
"
gs
"
,
[
"
-sDEVICE=jpeg
"
,
"
-dDownScaleFactor=4
"
,
"
-dDOINTERPOLATE
"
,
"
-dNOPAUSE
"
,
"
-dJPEGQ=80
"
,
"
-dBATCH
"
,
"
-sOutputFile=
"
+
images
,
"
-r250
"
,
"
-f
"
,
localFilePath
],
{},
function
(
error
,
stdout
,
stderr
)
{
if
(
error
===
null
)
{
glob
(
outputFolder
+
"
/*.jpeg
"
,
function
(
er
,
files
)
{
var
count
=
files
.
length
;
var
delta
=
10
;
var
limitPerRow
=
Math
.
ceil
(
Math
.
sqrt
(
count
));
var
startX
=
parseInt
(
req
.
query
.
x
,
delta
);
var
startY
=
parseInt
(
req
.
query
.
y
,
delta
);
async
.
mapLimit
(
files
,
20
,
function
(
localfilePath
,
cb
)
{
var
fileName
=
path
.
basename
(
localfilePath
);
var
baseName
=
path
.
basename
(
localfilePath
,
"
.jpeg
"
);
var
number
=
parseInt
(
baseName
.
slice
(
baseName
.
length
-
3
,
baseName
.
length
),
10
);
gm
(
localFilePath
).
size
((
err
,
size
)
=>
{
var
w
=
350
;
var
h
=
w
;
var
x
=
startX
+
(((
number
-
1
)
%
limitPerRow
)
*
w
);
var
y
=
startY
+
((
parseInt
(((
number
-
1
)
/
limitPerRow
),
10
)
+
1
)
*
w
);
var
userId
;
if
(
req
.
user
)
userId
=
req
.
user
.
_id
;
var
a
=
db
.
Artifact
.
create
({
_id
:
uuidv4
(),
mime
:
"
image/jpg
"
,
space_id
:
req
.
space
.
_id
,
user_id
:
userId
,
editor_name
:
req
.
guest_name
,
w
:
w
,
h
:
h
,
x
:
x
,
y
:
y
,
z
:
(
number
+
(
count
+
100
))
}).
then
(
a
=>
{
payloadConverter
.
convert
(
a
,
fileName
,
localfilePath
,
(
error
,
artifact
)
=>
{
if
(
error
)
res
.
status
(
400
).
json
(
error
);
else
{
if
(
withZones
)
{
var
zone
=
{
_id
:
uuidv4
(),
mime
:
"
x-spacedeck/zone
"
,
description
:
"
Zone
"
+
(
number
),
space_id
:
req
.
space
.
_id
,
user_id
:
userId
,
editor_name
:
req
.
guest_name
,
w
:
artifact
.
w
+
20
,
h
:
artifact
.
h
+
40
,
x
:
x
-
10
,
y
:
y
-
30
,
z
:
number
,
order
:
number
,
valign
:
"
middle
"
,
align
:
"
center
"
};
db
.
Artifact
.
create
(
zone
).
then
((
z
)
=>
{
redis
.
sendMessage
(
"
create
"
,
"
Artifact
"
,
z
.
toJSON
(),
req
.
channelId
);
cb
(
null
,
[
artifact
,
zone
]);
});
}
else
{
cb
(
null
,
[
artifact
]);
}
}
});
});
});
},
function
(
err
,
artifacts
)
{
// FIXME not portable
exec
.
execFile
(
"
rm
"
,
[
"
-r
"
,
outputFolder
],
function
(
err
)
{
res
.
status
(
201
).
json
(
_
.
flatten
(
artifacts
));
async
.
eachLimit
(
artifacts
,
10
,
(
artifact_or_artifacts
,
cb
)
=>
{
if
(
artifact_or_artifacts
instanceof
Array
)
{
_
.
each
(
artifact_or_artifacts
,
(
a
)
=>
{
redis
.
sendMessage
(
"
create
"
,
"
Artifact
"
,
JSON
.
stringify
(
a
),
req
.
channelId
);
});
}
else
{
redis
.
sendMessage
(
"
create
"
,
"
Artifact
"
,
JSON
.
stringify
(
artifact_or_artifacts
),
req
.
channelId
);
}
cb
(
null
);
});
});
});
});
}
else
{
console
.
error
(
"
error:
"
,
error
);
// FIXME not portable
exec
.
execFile
(
"
rm
"
,
[
"
-r
"
,
outputFolder
],
function
(
err
)
{
fs
.
unlink
(
localFilePath
);
res
.
status
(
400
).
json
({});
});
}
});
});
});
}
else
{
res
.
status
(
401
).
json
({
"
error
"
:
"
no access
"
});
}
});
module
.
exports
=
router
;
routes/api/users.js
View file @
3edde7c5
...
...
@@ -110,7 +110,7 @@ router.post('/', function(req, res) {
},
{
where
:
{
"
email_invited
"
:
u
.
email
,
"
state
"
:
pending
"
state
"
:
"
pending
"
}
});
res
.
status
(
201
).
json
({});
...
...
@@ -128,7 +128,6 @@ router.post('/', function(req, res) {
db
.
User
.
findAll
({
where
:
{
email
:
email
}})
.
then
(
users
=>
{
if
(
users
.
length
==
0
)
{
//var domain = email.slice(email.lastIndexOf('@')+1);
createUser
();
}
else
{
res
.
status
(
400
).
json
({
"
error
"
:
"
user_email_already_used
"
});
...
...
@@ -261,13 +260,6 @@ router.post('/:user_id/avatar', (req, res, next) => {
});
});
router
.
post
(
'
/feedback
'
,
function
(
req
,
res
,
next
)
{
var
text
=
req
.
body
.
text
;
// FIXME
mailer
.
sendMail
(
"
support@example.org
"
,
"
Support Request by
"
+
req
.
user
.
email
,
text
,
{
reply_to
:
req
.
user
.
email
});
res
.
sendStatus
(
201
);
});
router
.
post
(
'
/password_reset_requests
'
,
(
req
,
res
,
next
)
=>
{
const
email
=
req
.
query
.
email
;
db
.
User
.
findOne
({
where
:
{
"
email
"
:
email
}}).
then
((
user
)
=>
{
...
...
@@ -323,19 +315,4 @@ router.post('/:user_id/confirm', function(req, res, next) {
res
.
sendStatus
(
201
);
});
router
.
get
(
'
/:user_id/importables
'
,
function
(
req
,
res
,
next
)
{
glob
(
'
*.zip
'
,
function
(
err
,
files
)
{
res
.
status
(
200
).
json
(
files
);
});
});
router
.
get
(
'
/:user_id/import
'
,
function
(
req
,
res
,
next
)
{
if
(
req
.
query
.
zip
)
{
res
.
send
(
"
importing
"
);
importer
.
importZIP
(
req
.
user
,
req
.
query
.
zip
);
}
else
{
res
.
sendStatus
(
400
);
}
});
module
.
exports
=
router
;
routes/root.js
View file @
3edde7c5
...
...
@@ -54,10 +54,6 @@ router.get('/password-confirm/:token', (req, res) => {
res
.
render
(
'
spacedeck
'
,
{
title
:
'
Signup
'
});
});
router
.
get
(
'
/team
'
,
(
req
,
res
)
=>
{
res
.
render
(
'
spacedeck
'
);
});
router
.
get
(
'
/de/*
'
,
(
req
,
res
)
=>
{
res
.
redirect
(
"
/t/de
"
);
});
...
...
@@ -82,10 +78,6 @@ router.get('/en', (req, res) => {
res
.
redirect
(
"
/t/end
"
);
});
router
.
get
(
'
/it
'
,
(
req
,
res
)
=>
{
res
.
redirect
(
"
/t/en
"
);
});
router
.
get
(
'
/account
'
,
(
req
,
res
)
=>
{
res
.
render
(
'
spacedeck
'
);
});
...
...
@@ -132,15 +124,15 @@ router.get('/s/:token', (req, res) => {
db
.
Space
.
findOne
({
where
:
{
"
edit_hash
"
:
token
}}).
then
(
function
(
space
)
{
if
(
space
)
{
if
(
req
.
accepts
(
'
text/html
'
)){
res
.
redirect
(
"
/spaces/
"
+
space
.
_id
+
"
?spaceAuth=
"
+
token
);
res
.
redirect
(
"
/spaces/
"
+
space
.
_id
+
"
?spaceAuth=
"
+
token
);
}
else
{
res
.
status
(
200
).
json
(
space
);
res
.
status
(
200
).
json
(
space
);
}
}
else
{
if
(
req
.
accepts
(
'
text/html
'
))
{
res
.
status
(
404
).
render
(
'
not_found
'
,
{
title
:
'
Page Not Found.
'
});
res
.
status
(
404
).
render
(
'
not_found
'
,
{
title
:
'
Page Not Found.
'
});
}
else
{
res
.
status
(
404
).
json
({});
res
.
status
(
404
).
json
({});
}
}
});
...
...
views/partials/account.html
View file @
3edde7c5
...
...
@@ -80,14 +80,6 @@
<button
class=
"btn btn-md btn-dark"
v-on:click=
" save_user()"
style=
"margin-top:20px"
>
Save
</button>
</div>
<!--div class="form-group">
<label class="label">Spacedeck.com Data Import</label>
<p v-if="!importables">No .ZIP files found in Spacedeck application folder.</p>
<ul>
<li v-for="f in importables">{{f}} <button v-on:click="start_zip_import(f)">Start Import</button></li>
</ul>
</div-->
</div>
</div>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment