|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294 |
- {
- "meta": {
- "options": {
- "linkedFile": "/views/registration.ejs",
- "linkedForm": "register1"
- },
- "$_POST": [
- {
- "type": "text",
- "fieldName": "username",
- "name": "username"
- },
- {
- "type": "text",
- "fieldName": "userid",
- "name": "userid"
- },
- {
- "type": "text",
- "fieldName": "firstname",
- "options": {
- "rules": {
- "core:required": {
- "param": ""
- }
- }
- },
- "name": "firstname"
- },
- {
- "type": "text",
- "fieldName": "lastname",
- "options": {
- "rules": {
- "core:required": {
- "param": ""
- }
- }
- },
- "name": "lastname"
- },
- {
- "type": "text",
- "fieldName": "email",
- "options": {
- "rules": {
- "core:required": {
- "param": ""
- },
- "core:email": {
- "param": ""
- }
- }
- },
- "name": "email"
- },
- {
- "type": "text",
- "fieldName": "password",
- "options": {
- "rules": {
- "core:required": {
- "param": ""
- },
- "core:minlength": {
- "param": "8"
- }
- }
- },
- "name": "password"
- },
- {
- "type": "text",
- "fieldName": "password2",
- "options": {
- "rules": {
- "core:equalTo": {
- "param": "password"
- }
- }
- },
- "name": "password2"
- },
- {
- "type": "text",
- "name": "pwd"
- }
- ]
- },
- "exec": {
- "steps": [
- {
- "name": "validate",
- "module": "validator",
- "action": "validate",
- "options": {
- "data": [
- {
- "name": "validate_1",
- "value": "{{$_POST.email}}",
- "rules": {
- "db:notexists": {
- "param": {
- "connection": "authdb",
- "table": "users",
- "column": "email"
- }
- }
- }
- }
- ]
- }
- },
- {
- "name": "",
- "module": "core",
- "action": "condition",
- "options": {
- "if": "{{$_POST.username.length()>0}}",
- "then": {
- "steps": {
- "name": "Unauthorized",
- "module": "core",
- "action": "response",
- "options": {
- "status": 401,
- "data": "Unauthorized"
- }
- }
- }
- },
- "outputType": "boolean"
- },
- {
- "name": "",
- "module": "core",
- "action": "condition",
- "options": {
- "if": "{{$_POST.userid!=$_SESSION.regcode}}",
- "then": {
- "steps": {
- "name": "Unauthorized",
- "module": "core",
- "action": "response",
- "options": {
- "status": 401,
- "data": "Unauthorized"
- }
- }
- }
- },
- "outputType": "boolean"
- },
- {
- "name": "hash",
- "module": "crypto",
- "action": "passwordHash",
- "options": {
- "password": "{{$_POST.password}}"
- },
- "outputType": "text",
- "output": true
- },
- {
- "name": "validationcode",
- "module": "core",
- "action": "setvalue",
- "options": {
- "key": "g_validationcode",
- "value": "{{UUID}}"
- },
- "meta": [],
- "outputType": "text",
- "output": true
- },
- {
- "name": "insert",
- "module": "dbupdater",
- "action": "insert",
- "options": {
- "connection": "authdb",
- "sql": {
- "type": "insert",
- "values": [
- {
- "table": "users",
- "column": "email",
- "type": "text",
- "value": "{{$_POST.email}}"
- },
- {
- "table": "users",
- "column": "pwd",
- "type": "text",
- "value": "{{hash}}"
- },
- {
- "table": "users",
- "column": "regcode",
- "type": "text",
- "value": "{{validationcode}}"
- },
- {
- "table": "users",
- "column": "firstname",
- "type": "text",
- "value": "{{$_POST.firstname}}"
- },
- {
- "table": "users",
- "column": "lastname",
- "type": "text",
- "value": "{{$_POST.lastname}}"
- }
- ],
- "table": "users",
- "returning": "id",
- "query": "insert into `users` (`email`, `firstname`, `lastname`, `pwd`, `regcode`) values (?, ?, ?, ?, ?) returning `id`",
- "params": [
- {
- "name": ":P1",
- "type": "expression",
- "value": "{{$_POST.email}}",
- "test": ""
- },
- {
- "name": ":P2",
- "type": "expression",
- "value": "{{hash}}",
- "test": ""
- },
- {
- "name": ":P3",
- "type": "expression",
- "value": "{{validationcode}}",
- "test": ""
- },
- {
- "name": ":P4",
- "type": "expression",
- "value": "{{$_POST.firstname}}",
- "test": ""
- },
- {
- "name": ":P5",
- "type": "expression",
- "value": "{{$_POST.lastname}}",
- "test": ""
- }
- ]
- }
- },
- "meta": [
- {
- "name": "identity",
- "type": "number"
- },
- {
- "name": "affected",
- "type": "number"
- }
- ],
- "output": true
- },
- {
- "name": "",
- "module": "mail",
- "action": "send",
- "options": {
- "instance": "mail",
- "subject": "Validation Code",
- "fromName": "No-Reply",
- "fromEmail": "no-reply@rpmindustries.com",
- "toName": "{{$_POST.firstname+' '+$_POST.lastname}}",
- "toEmail": "{{$_POST.email}}",
- "body": "Your validation code is : {{validationcode}}"
- },
- "metaData": {
- "sendToName": {
- "name": "lastname",
- "type": "text"
- },
- "sendToEmail": {
- "name": "email",
- "type": "text"
- }
- }
- }
- ]
- },
- "usedModules": {
- "argon2": "^0.30.2"
- }
- }
|