Page Menu
Home
Sealhub
Search
Configure Global Search
Log In
Files
F3010361
registration-intents.ts
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
1 KB
Referenced Files
None
Subscribers
None
registration-intents.ts
View Options
import
{
App
,
Collection
,
FieldTypes
,
Policies
}
from
"../../main"
;
import
RegistrationIntentTemplate
from
"../../email/templates/registration-intent"
;
import
ItemList
from
"../../chip-types/item-list"
;
export
default
class
RegistrationIntents
extends
Collection
{
fields
=
{
email
:
new
FieldTypes
.
ValueNotExistingInCollection
({
collection
:
"users"
,
field
:
"email"
,
include_forbidden
:
true
,
}),
token
:
new
FieldTypes
.
SecretToken
(),
role
:
new
FieldTypes
.
SettableBy
(
new
FieldTypes
.
Enum
((
app
:
App
)
=>
app
.
ConfigManager
.
get
(
"roles"
)),
new
Policies
.
UsersWhoCan
([
"create"
,
"user-roles"
])
),
};
policies
=
{
create
:
new
Policies
.
Public
(),
edit
:
new
Policies
.
Noone
(),
};
defaultPolicy
=
new
Policies
.
Super
();
async
init
(
app
:
App
,
name
:
string
)
{
await
super
.
init
(
app
,
name
);
this
.
on
(
"after:create"
,
async
([
context
,
intent
])
=>
{
await
intent
.
decode
(
context
);
const
{
items
:
[
item
],
}
=
await
app
.
collections
[
"registration-intents"
]
.
suList
()
.
ids
([
intent
.
id
])
.
fetch
();
const
token
=
item
.
get
(
"token"
);
const
message
=
await
RegistrationIntentTemplate
(
app
,
{
email_address
:
intent
.
get
(
"email"
)
as
string
,
token
,
});
await
message
.
send
(
app
);
});
}
}
File Metadata
Details
Attached
Mime Type
text/x-java
Expires
Wed, May 7, 19:41 (1 d, 8 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
635780
Default Alt Text
registration-intents.ts (1 KB)
Attached To
Mode
rS Sealious
Attached
Detach File
Event Timeline
Log In to Comment