Page Menu
Home
Sealhub
Search
Configure Global Search
Log In
Files
F9584170
users-subject.js
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
1 KB
Referenced Files
None
Subscribers
None
users-subject.js
View Options
var
Sealious
=
require
(
"sealious"
);
var
Promise
=
require
(
"bluebird"
);
var
me_synonyms
=
require
(
"../../misc/me-synonyms.json"
);
var
MeSubject
=
require
(
"./me-subject.js"
);
var
UsersSubject
=
function
(){
this
.
perform_action
=
function
(
context
,
action_name
,
params
){
params
=
params
||
{};
switch
(
action_name
){
case
"create"
:
return
Sealious
.
run_action
(
context
,
[
"resources"
,
"user"
],
"create"
,
params
);
case
"show"
:
return
Sealious
.
run_action
(
context
,
[
"resources"
,
"user"
],
"show"
,
params
);
default
:
return
Promise
.
reject
(
new
Sealious
.
Errors
.
BadSubjectAction
(
`Unknown action for UsersSubject: '
${
action_name
}
'`
));
}
}
this
.
get_child_subject
=
function
(
key
){
if
(
me_synonyms
.
indexOf
(
key
)
!==
-
1
){
return
MeSubject
;
}
else
{
var
username
=
key
;
return
Sealious
.
run_action
(
new
Sealious
.
SuperContext
(),
[
"resources"
,
"user"
],
"show"
,
{
filter
:
{
username
:
username
}})
.
then
(
function
(
result
){
if
(
result
.
length
===
0
){
throw
new
Sealious
.
Errors
.
BadSubjectPath
(
`Unknown username: '
${
username
}
'`
)
}
else
{
var
user
=
result
[
0
];
return
Sealious
.
RootSubject
.
get_subject
([
"resources"
,
"user"
,
user
.
id
])
}
})
}
}
}
UsersSubject
.
prototype
=
Object
.
create
(
Sealious
.
Subject
.
prototype
);
module
.
exports
=
new
UsersSubject
();
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Sat, Oct 11, 11:55 (2 m, 26 s)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
984331
Default Alt Text
users-subject.js (1 KB)
Attached To
Mode
rS Sealious
Attached
Detach File
Event Timeline
Log In to Comment