Universis api server plugin for study program candidates, internship selection etc
Universis api server plugin for study program candidates, internship selection etc
npm i @universis/candidates
Register CandidateService in application services:
# app.production.json
"services": [
...,
{
"serviceType": "@universis/candidates#CandidateService"
}
]
Add CandidateSchemaLoader to schema loaders
# app.production.json
{
"settings": {
"schema": {
"loaders": [
...,
{
"loaderType": "@universis/candidates#CandidateSchemaLoader"
}
]
}
}
}
AfterCreateCandidateUser service allows universis api to automatically create an OAuth2 server user for any candidate.
If you want to include this operation while using CandidateStudent.createUser() method add one more service in application services:
# app.production.json
"services": [
...,
{
"serviceType": "@universis/candidates#AfterCreateCandidateUser"
}
]
CreateStudentAfterAcceptCandidate service allows universis api to automatically create a student after accepting study program request.
If you want to include this operation while accepting StudyProgramRegisterAction add one more service in application services:
# app.production.json
"services": [
...,
{
"serviceType": "@universis/candidates#CreateStudentAfterAcceptCandidate"
}
]
@universis/candidates#SendSmsAfterCreateCandidateUser service sends a sms message to a candidate by using CandidateStudent.person.mobilePhone @universis/candidates includes a default template for this operation:
```
VISIT https://students.universis.io/register/ USE YOUR INSCRIPTION NUMBER AND THIS ACTIVATION CODE: 00000000000 TO COMPLETE YOUR REGISTRATION
This template should be inserted in MailConfigurations:
``
{
"target": "NotifyCandidateUserAction",
"status": 3,
"subject": "Admissions - Activate account",
"template": "send-sms",
"state": 2
}
Of course this operation is configurable by creating another template and insert it in MailConfigurations.
Finally @universis/candidates#SendSmsAfterCreateCandidateUser should be added in application services collection:
``
{
"serviceType": "@universis/candidates#SendSmsAfterCreateCandidateUser"
},
{
"serviceType": "@universis/messages#SmsService",
"strategyType": "..."
}@universis/messages#SmsService
Important note: strategy should be registered also in order to enable sending sms messages.
A notification like that always wants to inform user about an application in order to give him access to this application by providing a url. The template sms message uses WebApplication model in order to get information about register app. A record should be inserted to point to universis-register application.
``
{
"alternateName": "register",
"softwareVersion": "latest",
"applicationSuite": "universis",
"screenshot": "https://gitlab.com/universis/universis-register/-/raw/main/universis-register-dashboard.png",
"name": "Admissions",
"url": "https://students.universis.io/register/"
}
A user who is going to send sms message should have CandidateStudent/SendActivationMessage privilege e.g.
```
{
"privilege": "CandidateStudent/SendActivationMessage",
"parentPrivilege": null,
"workspace": 1,
"account": {
"name": "Administrators"
},
"target": "0",
"mask": 16
}