|
- {
- "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"
- }
- }
|