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.
 
 
 

538 regels
16 KiB

  1. {
  2. "meta": {
  3. "$_GET": [
  4. {
  5. "type": "text",
  6. "name": "id"
  7. },
  8. {
  9. "type": "text",
  10. "name": "sort"
  11. },
  12. {
  13. "type": "text",
  14. "name": "dir"
  15. }
  16. ]
  17. },
  18. "exec": {
  19. "steps": [
  20. {
  21. "name": "gettheuser",
  22. "module": "dbconnector",
  23. "action": "single",
  24. "options": {
  25. "connection": "authdb",
  26. "sql": {
  27. "type": "select",
  28. "columns": [
  29. {
  30. "table": "users",
  31. "column": "id"
  32. },
  33. {
  34. "table": "users",
  35. "column": "email"
  36. },
  37. {
  38. "table": "users",
  39. "column": "pwd"
  40. },
  41. {
  42. "table": "users",
  43. "column": "firstname"
  44. },
  45. {
  46. "table": "users",
  47. "column": "lastname"
  48. }
  49. ],
  50. "params": [],
  51. "table": {
  52. "name": "users"
  53. },
  54. "primary": "id",
  55. "joins": [],
  56. "wheres": {
  57. "condition": "AND",
  58. "rules": [
  59. {
  60. "id": "users.email",
  61. "field": "users.email",
  62. "type": "string",
  63. "operator": "equal",
  64. "value": "admin@prelub.com",
  65. "data": {
  66. "table": "users",
  67. "column": "email",
  68. "type": "text",
  69. "columnObj": {
  70. "type": "string",
  71. "maxLength": 255,
  72. "primary": false,
  73. "unique": false,
  74. "nullable": true,
  75. "name": "email"
  76. }
  77. },
  78. "operation": "="
  79. }
  80. ],
  81. "conditional": null,
  82. "valid": true
  83. },
  84. "query": "select `id`, `email`, `pwd`, `firstname`, `lastname` from `users` where `users`.`email` = ?"
  85. }
  86. },
  87. "output": true,
  88. "meta": [
  89. {
  90. "type": "number",
  91. "name": "id"
  92. },
  93. {
  94. "type": "text",
  95. "name": "email"
  96. },
  97. {
  98. "type": "text",
  99. "name": "pwd"
  100. },
  101. {
  102. "type": "text",
  103. "name": "firstname"
  104. },
  105. {
  106. "type": "text",
  107. "name": "lastname"
  108. }
  109. ],
  110. "outputType": "object"
  111. },
  112. {
  113. "name": "",
  114. "module": "core",
  115. "action": "condition",
  116. "options": {
  117. "if": "{{gettheuser}}",
  118. "then": {
  119. "steps": [
  120. {
  121. "name": "api",
  122. "module": "api",
  123. "action": "send",
  124. "options": {
  125. "url": "{{$_ENV.API_BASEURL+'users/'+gettheuser.id}}",
  126. "schema": [
  127. {
  128. "type": "object",
  129. "name": "data",
  130. "sub": [
  131. {
  132. "type": "number",
  133. "name": "id"
  134. },
  135. {
  136. "type": "text",
  137. "name": "lastname"
  138. },
  139. {
  140. "type": "text",
  141. "name": "updatedate"
  142. },
  143. {
  144. "type": "number",
  145. "name": "updateuserid"
  146. },
  147. {
  148. "type": "boolean",
  149. "name": "isactive"
  150. },
  151. {
  152. "type": "text",
  153. "name": "password"
  154. },
  155. {
  156. "type": "text",
  157. "name": "createdate"
  158. },
  159. {
  160. "type": "text",
  161. "name": "username"
  162. },
  163. {
  164. "type": "text",
  165. "name": "email"
  166. },
  167. {
  168. "type": "text",
  169. "name": "firstname"
  170. },
  171. {
  172. "type": "number",
  173. "name": "createuserid"
  174. },
  175. {
  176. "type": "array",
  177. "name": "roles"
  178. }
  179. ]
  180. },
  181. {
  182. "type": "object",
  183. "name": "headers",
  184. "sub": [
  185. {
  186. "type": "text",
  187. "name": "connection"
  188. },
  189. {
  190. "type": "text",
  191. "name": "content-length"
  192. },
  193. {
  194. "type": "text",
  195. "name": "content-type"
  196. },
  197. {
  198. "type": "text",
  199. "name": "date"
  200. }
  201. ]
  202. }
  203. ]
  204. },
  205. "output": true,
  206. "meta": [
  207. {
  208. "type": "object",
  209. "name": "data",
  210. "sub": [
  211. {
  212. "type": "number",
  213. "name": "id"
  214. },
  215. {
  216. "type": "text",
  217. "name": "lastname"
  218. },
  219. {
  220. "type": "text",
  221. "name": "updatedate"
  222. },
  223. {
  224. "type": "number",
  225. "name": "updateuserid"
  226. },
  227. {
  228. "type": "boolean",
  229. "name": "isactive"
  230. },
  231. {
  232. "type": "text",
  233. "name": "password"
  234. },
  235. {
  236. "type": "text",
  237. "name": "createdate"
  238. },
  239. {
  240. "type": "text",
  241. "name": "username"
  242. },
  243. {
  244. "type": "text",
  245. "name": "email"
  246. },
  247. {
  248. "type": "text",
  249. "name": "firstname"
  250. },
  251. {
  252. "type": "number",
  253. "name": "createuserid"
  254. },
  255. {
  256. "type": "array",
  257. "name": "roles"
  258. }
  259. ]
  260. },
  261. {
  262. "type": "object",
  263. "name": "headers",
  264. "sub": [
  265. {
  266. "type": "text",
  267. "name": "connection"
  268. },
  269. {
  270. "type": "text",
  271. "name": "content-length"
  272. },
  273. {
  274. "type": "text",
  275. "name": "content-type"
  276. },
  277. {
  278. "type": "text",
  279. "name": "date"
  280. }
  281. ]
  282. }
  283. ],
  284. "outputType": "object"
  285. },
  286. {
  287. "name": "insertuser",
  288. "module": "api",
  289. "action": "send",
  290. "options": {
  291. "url": "{{$_ENV.API_BASEURL+'users/insert'}}",
  292. "method": "POST",
  293. "schema": [
  294. {
  295. "type": "object",
  296. "name": "data",
  297. "sub": [
  298. {
  299. "type": "text",
  300. "name": "updatedate"
  301. },
  302. {
  303. "type": "text",
  304. "name": "password"
  305. },
  306. {
  307. "type": "boolean",
  308. "name": "isactive"
  309. },
  310. {
  311. "type": "number",
  312. "name": "id"
  313. },
  314. {
  315. "type": "text",
  316. "name": "lastname"
  317. },
  318. {
  319. "type": "number",
  320. "name": "updateuserid"
  321. },
  322. {
  323. "type": "text",
  324. "name": "firstname"
  325. },
  326. {
  327. "type": "text",
  328. "name": "username"
  329. },
  330. {
  331. "type": "text",
  332. "name": "email"
  333. },
  334. {
  335. "type": "text",
  336. "name": "createdate"
  337. },
  338. {
  339. "type": "number",
  340. "name": "createuserid"
  341. }
  342. ]
  343. }
  344. ],
  345. "dataType": "json",
  346. "data": {
  347. "id": "{{gettheuser.id.toString()}}",
  348. "firstname": "{{gettheuser.firstname}}",
  349. "lastname": "{{gettheuser.lastname}}",
  350. "email": "{{gettheuser.email}}",
  351. "password": "{{gettheuser.password}}",
  352. "isactive": true,
  353. "createuserid": -1,
  354. "updateuserid": -1,
  355. "username": null
  356. }
  357. },
  358. "output": true,
  359. "meta": [
  360. {
  361. "type": "object",
  362. "name": "data",
  363. "sub": [
  364. {
  365. "type": "text",
  366. "name": "updatedate"
  367. },
  368. {
  369. "type": "text",
  370. "name": "password"
  371. },
  372. {
  373. "type": "boolean",
  374. "name": "isactive"
  375. },
  376. {
  377. "type": "number",
  378. "name": "id"
  379. },
  380. {
  381. "type": "text",
  382. "name": "lastname"
  383. },
  384. {
  385. "type": "number",
  386. "name": "updateuserid"
  387. },
  388. {
  389. "type": "text",
  390. "name": "firstname"
  391. },
  392. {
  393. "type": "text",
  394. "name": "username"
  395. },
  396. {
  397. "type": "text",
  398. "name": "email"
  399. },
  400. {
  401. "type": "text",
  402. "name": "createdate"
  403. },
  404. {
  405. "type": "number",
  406. "name": "createuserid"
  407. }
  408. ]
  409. }
  410. ],
  411. "outputType": "object"
  412. },
  413. {
  414. "name": "query",
  415. "module": "dbconnector",
  416. "action": "select",
  417. "options": {
  418. "connection": "authdb",
  419. "sql": {
  420. "type": "select",
  421. "columns": [
  422. {
  423. "table": "xuserrole",
  424. "column": "roleid"
  425. }
  426. ],
  427. "params": [
  428. {
  429. "operator": "equal",
  430. "type": "expression",
  431. "name": ":P1",
  432. "value": "{{insertuser.data.id}}",
  433. "test": ""
  434. }
  435. ],
  436. "table": {
  437. "name": "xuserrole"
  438. },
  439. "primary": "id",
  440. "joins": [],
  441. "wheres": {
  442. "condition": "AND",
  443. "rules": [
  444. {
  445. "id": "xuserrole.userid",
  446. "field": "xuserrole.userid",
  447. "type": "double",
  448. "operator": "equal",
  449. "value": "{{insertuser.data.id}}",
  450. "data": {
  451. "table": "xuserrole",
  452. "column": "userid",
  453. "type": "number",
  454. "columnObj": {
  455. "type": "integer",
  456. "primary": false,
  457. "unique": false,
  458. "nullable": true,
  459. "name": "userid"
  460. }
  461. },
  462. "operation": "="
  463. }
  464. ],
  465. "conditional": null,
  466. "valid": true
  467. },
  468. "query": "select `roleid` from `xuserrole` where `xuserrole`.`userid` = ?"
  469. }
  470. },
  471. "output": true,
  472. "meta": [
  473. {
  474. "type": "number",
  475. "name": "roleid"
  476. }
  477. ],
  478. "outputType": "array"
  479. },
  480. {
  481. "name": "repeat",
  482. "module": "core",
  483. "action": "repeat",
  484. "options": {
  485. "outputFilter": "exclude",
  486. "repeat": "{{query}}",
  487. "outputFields": [],
  488. "exec": {
  489. "steps": {
  490. "name": "addrole",
  491. "module": "api",
  492. "action": "send",
  493. "options": {
  494. "url": "{{$_ENV.API_BASEURL+'xuserroles/add/'+gettheuser.id+'/'+roleid}}",
  495. "method": "POST",
  496. "dataType": "json"
  497. },
  498. "output": true
  499. }
  500. }
  501. },
  502. "output": true,
  503. "meta": [
  504. {
  505. "name": "$index",
  506. "type": "number"
  507. },
  508. {
  509. "name": "$number",
  510. "type": "number"
  511. },
  512. {
  513. "name": "$name",
  514. "type": "text"
  515. },
  516. {
  517. "name": "$value",
  518. "type": "object"
  519. },
  520. {
  521. "name": "roleid",
  522. "type": "number"
  523. },
  524. {
  525. "name": "addrole",
  526. "type": "text"
  527. }
  528. ],
  529. "outputType": "array"
  530. }
  531. ]
  532. }
  533. },
  534. "outputType": "boolean"
  535. }
  536. ]
  537. }
  538. }