You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

224 lines
5.3 KiB

  1. {
  2. "meta": {
  3. "options": {
  4. "linkedFile": "/views/register.ejs",
  5. "linkedForm": "register1"
  6. },
  7. "$_POST": [
  8. {
  9. "type": "text",
  10. "fieldName": "firstName",
  11. "options": {
  12. "rules": {
  13. "core:required": {
  14. "param": ""
  15. }
  16. }
  17. },
  18. "name": "firstName"
  19. },
  20. {
  21. "type": "text",
  22. "fieldName": "lastName",
  23. "options": {
  24. "rules": {
  25. "core:required": {
  26. "param": ""
  27. }
  28. }
  29. },
  30. "name": "lastName"
  31. },
  32. {
  33. "type": "text",
  34. "fieldName": "email",
  35. "options": {
  36. "rules": {
  37. "core:required": {
  38. "param": ""
  39. },
  40. "core:email": {
  41. "param": ""
  42. }
  43. }
  44. },
  45. "name": "email"
  46. },
  47. {
  48. "type": "text",
  49. "fieldName": "password",
  50. "options": {
  51. "rules": {
  52. "core:required": {
  53. "param": ""
  54. }
  55. }
  56. },
  57. "name": "password"
  58. },
  59. {
  60. "type": "text",
  61. "name": "createDate"
  62. }
  63. ]
  64. },
  65. "exec": {
  66. "steps": [
  67. {
  68. "name": "validate",
  69. "module": "validator",
  70. "action": "validate",
  71. "options": {
  72. "data": [
  73. {
  74. "name": "val_email",
  75. "value": "",
  76. "rules": {
  77. "db:notexists": {
  78. "param": {
  79. "connection": "db",
  80. "table": "user",
  81. "column": "email"
  82. }
  83. }
  84. },
  85. "fieldName": "email"
  86. }
  87. ]
  88. }
  89. },
  90. {
  91. "name": "insert",
  92. "module": "dbupdater",
  93. "action": "insert",
  94. "options": {
  95. "connection": "db",
  96. "sql": {
  97. "type": "insert",
  98. "values": [
  99. {
  100. "table": "user",
  101. "column": "firstName",
  102. "type": "text",
  103. "value": "{{$_POST.firstName}}"
  104. },
  105. {
  106. "table": "user",
  107. "column": "lastName",
  108. "type": "text",
  109. "value": "{{$_POST.lastName}}"
  110. },
  111. {
  112. "table": "user",
  113. "column": "email",
  114. "type": "text",
  115. "value": "{{$_POST.email}}"
  116. },
  117. {
  118. "table": "user",
  119. "column": "password",
  120. "type": "text",
  121. "value": "{{$_POST.password}}"
  122. },
  123. {
  124. "table": "user",
  125. "column": "createDate",
  126. "type": "text",
  127. "value": "{{$_POST.createDate}}"
  128. }
  129. ],
  130. "table": "user",
  131. "query": "insert into `user` (`createDate`, `email`, `firstName`, `lastName`, `password`) values (?, ?, ?, ?, ?)",
  132. "params": [
  133. {
  134. "name": ":P1",
  135. "type": "expression",
  136. "value": "{{$_POST.firstName}}",
  137. "test": ""
  138. },
  139. {
  140. "name": ":P2",
  141. "type": "expression",
  142. "value": "{{$_POST.lastName}}",
  143. "test": ""
  144. },
  145. {
  146. "name": ":P3",
  147. "type": "expression",
  148. "value": "{{$_POST.email}}",
  149. "test": ""
  150. },
  151. {
  152. "name": ":P4",
  153. "type": "expression",
  154. "value": "{{$_POST.password}}",
  155. "test": ""
  156. },
  157. {
  158. "name": ":P5",
  159. "type": "expression",
  160. "value": "{{$_POST.createDate}}",
  161. "test": ""
  162. }
  163. ]
  164. }
  165. },
  166. "meta": [
  167. {
  168. "name": "identity",
  169. "type": "text"
  170. },
  171. {
  172. "name": "affected",
  173. "type": "number"
  174. }
  175. ]
  176. },
  177. {
  178. "name": "insert1",
  179. "module": "dbupdater",
  180. "action": "insert",
  181. "options": {
  182. "connection": "db",
  183. "sql": {
  184. "type": "insert",
  185. "values": [
  186. {
  187. "table": "role",
  188. "column": "name",
  189. "type": "text",
  190. "value": "Member"
  191. },
  192. {
  193. "table": "role",
  194. "column": "user_id",
  195. "type": "text",
  196. "value": "{{insert.identity}}"
  197. }
  198. ],
  199. "table": "role",
  200. "query": "insert into `role` (`name`, `user_id`) values (?, ?)",
  201. "params": [
  202. {
  203. "name": ":P1",
  204. "type": "expression",
  205. "value": "{{insert.identity}}",
  206. "test": ""
  207. }
  208. ]
  209. }
  210. },
  211. "meta": [
  212. {
  213. "name": "identity",
  214. "type": "text"
  215. },
  216. {
  217. "name": "affected",
  218. "type": "number"
  219. }
  220. ]
  221. }
  222. ]
  223. }
  224. }