@constructive-sdk/cli 0.12.7 → 0.12.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (333) hide show
  1. package/admin/cli/commands/app-achievement.js +38 -15
  2. package/admin/cli/commands/app-admin-grant.js +38 -15
  3. package/admin/cli/commands/app-grant.js +40 -16
  4. package/admin/cli/commands/app-level-requirement.js +42 -17
  5. package/admin/cli/commands/app-level.js +40 -16
  6. package/admin/cli/commands/app-limit-default.js +32 -12
  7. package/admin/cli/commands/app-limit.js +36 -14
  8. package/admin/cli/commands/app-membership-default.js +40 -16
  9. package/admin/cli/commands/app-membership.js +58 -25
  10. package/admin/cli/commands/app-owner-grant.js +38 -15
  11. package/admin/cli/commands/app-permission-default.js +30 -11
  12. package/admin/cli/commands/app-permission.js +36 -14
  13. package/admin/cli/commands/app-step.js +38 -15
  14. package/admin/cli/commands/claimed-invite.js +38 -15
  15. package/admin/cli/commands/invite.js +50 -21
  16. package/admin/cli/commands/membership-type.js +34 -13
  17. package/admin/cli/commands/org-admin-grant.js +40 -16
  18. package/admin/cli/commands/org-chart-edge-grant.js +44 -18
  19. package/admin/cli/commands/org-chart-edge.js +42 -17
  20. package/admin/cli/commands/org-claimed-invite.js +40 -16
  21. package/admin/cli/commands/org-get-managers-record.js +30 -11
  22. package/admin/cli/commands/org-get-subordinates-record.js +30 -11
  23. package/admin/cli/commands/org-grant.js +42 -17
  24. package/admin/cli/commands/org-invite.js +54 -23
  25. package/admin/cli/commands/org-limit-default.js +32 -12
  26. package/admin/cli/commands/org-limit.js +38 -15
  27. package/admin/cli/commands/org-member.js +34 -13
  28. package/admin/cli/commands/org-membership-default.js +44 -18
  29. package/admin/cli/commands/org-membership.js +58 -25
  30. package/admin/cli/commands/org-owner-grant.js +40 -16
  31. package/admin/cli/commands/org-permission-default.js +32 -12
  32. package/admin/cli/commands/org-permission.js +36 -14
  33. package/admin/cli/utils.d.ts +38 -0
  34. package/admin/cli/utils.js +96 -0
  35. package/auth/cli/commands/audit-log.js +42 -17
  36. package/auth/cli/commands/connected-account.js +42 -17
  37. package/auth/cli/commands/crypto-address.js +40 -16
  38. package/auth/cli/commands/email.js +40 -16
  39. package/auth/cli/commands/phone-number.js +42 -17
  40. package/auth/cli/commands/role-type.js +30 -11
  41. package/auth/cli/commands/user.js +80 -16
  42. package/auth/cli/utils.d.ts +38 -0
  43. package/auth/cli/utils.js +96 -0
  44. package/esm/admin/cli/commands/app-achievement.js +39 -16
  45. package/esm/admin/cli/commands/app-admin-grant.js +39 -16
  46. package/esm/admin/cli/commands/app-grant.js +41 -17
  47. package/esm/admin/cli/commands/app-level-requirement.js +43 -18
  48. package/esm/admin/cli/commands/app-level.js +41 -17
  49. package/esm/admin/cli/commands/app-limit-default.js +33 -13
  50. package/esm/admin/cli/commands/app-limit.js +37 -15
  51. package/esm/admin/cli/commands/app-membership-default.js +41 -17
  52. package/esm/admin/cli/commands/app-membership.js +59 -26
  53. package/esm/admin/cli/commands/app-owner-grant.js +39 -16
  54. package/esm/admin/cli/commands/app-permission-default.js +31 -12
  55. package/esm/admin/cli/commands/app-permission.js +37 -15
  56. package/esm/admin/cli/commands/app-step.js +39 -16
  57. package/esm/admin/cli/commands/claimed-invite.js +39 -16
  58. package/esm/admin/cli/commands/invite.js +51 -22
  59. package/esm/admin/cli/commands/membership-type.js +35 -14
  60. package/esm/admin/cli/commands/org-admin-grant.js +41 -17
  61. package/esm/admin/cli/commands/org-chart-edge-grant.js +45 -19
  62. package/esm/admin/cli/commands/org-chart-edge.js +43 -18
  63. package/esm/admin/cli/commands/org-claimed-invite.js +41 -17
  64. package/esm/admin/cli/commands/org-get-managers-record.js +31 -12
  65. package/esm/admin/cli/commands/org-get-subordinates-record.js +31 -12
  66. package/esm/admin/cli/commands/org-grant.js +43 -18
  67. package/esm/admin/cli/commands/org-invite.js +55 -24
  68. package/esm/admin/cli/commands/org-limit-default.js +33 -13
  69. package/esm/admin/cli/commands/org-limit.js +39 -16
  70. package/esm/admin/cli/commands/org-member.js +35 -14
  71. package/esm/admin/cli/commands/org-membership-default.js +45 -19
  72. package/esm/admin/cli/commands/org-membership.js +59 -26
  73. package/esm/admin/cli/commands/org-owner-grant.js +41 -17
  74. package/esm/admin/cli/commands/org-permission-default.js +33 -13
  75. package/esm/admin/cli/commands/org-permission.js +37 -15
  76. package/esm/admin/cli/utils.d.ts +38 -0
  77. package/esm/admin/cli/utils.js +90 -0
  78. package/esm/auth/cli/commands/audit-log.js +43 -18
  79. package/esm/auth/cli/commands/connected-account.js +43 -18
  80. package/esm/auth/cli/commands/crypto-address.js +41 -17
  81. package/esm/auth/cli/commands/email.js +41 -17
  82. package/esm/auth/cli/commands/phone-number.js +43 -18
  83. package/esm/auth/cli/commands/role-type.js +31 -12
  84. package/esm/auth/cli/commands/user.js +81 -17
  85. package/esm/auth/cli/utils.d.ts +38 -0
  86. package/esm/auth/cli/utils.js +90 -0
  87. package/esm/objects/cli/commands/commit.js +45 -19
  88. package/esm/objects/cli/commands/get-all-record.js +31 -12
  89. package/esm/objects/cli/commands/object.js +41 -17
  90. package/esm/objects/cli/commands/ref.js +37 -15
  91. package/esm/objects/cli/commands/store.js +37 -15
  92. package/esm/objects/cli/utils.d.ts +38 -0
  93. package/esm/objects/cli/utils.js +90 -0
  94. package/esm/public/cli/commands/api-module.js +37 -15
  95. package/esm/public/cli/commands/api-schema.js +35 -14
  96. package/esm/public/cli/commands/api.js +41 -17
  97. package/esm/public/cli/commands/app-achievement.js +39 -16
  98. package/esm/public/cli/commands/app-admin-grant.js +39 -16
  99. package/esm/public/cli/commands/app-grant.js +41 -17
  100. package/esm/public/cli/commands/app-level-requirement.js +43 -18
  101. package/esm/public/cli/commands/app-level.js +41 -17
  102. package/esm/public/cli/commands/app-limit-default.js +33 -13
  103. package/esm/public/cli/commands/app-limit.js +37 -15
  104. package/esm/public/cli/commands/app-membership-default.js +41 -17
  105. package/esm/public/cli/commands/app-membership.js +59 -26
  106. package/esm/public/cli/commands/app-owner-grant.js +39 -16
  107. package/esm/public/cli/commands/app-permission-default.js +31 -12
  108. package/esm/public/cli/commands/app-permission.js +37 -15
  109. package/esm/public/cli/commands/app-step.js +39 -16
  110. package/esm/public/cli/commands/app.js +45 -19
  111. package/esm/public/cli/commands/ast-migration.js +53 -23
  112. package/esm/public/cli/commands/audit-log.js +43 -18
  113. package/esm/public/cli/commands/blueprint-template.js +67 -30
  114. package/esm/public/cli/commands/blueprint.js +61 -27
  115. package/esm/public/cli/commands/check-constraint.js +55 -24
  116. package/esm/public/cli/commands/claimed-invite.js +39 -16
  117. package/esm/public/cli/commands/commit.js +45 -19
  118. package/esm/public/cli/commands/connected-account.js +43 -18
  119. package/esm/public/cli/commands/connected-accounts-module.js +41 -17
  120. package/esm/public/cli/commands/crypto-address.js +41 -17
  121. package/esm/public/cli/commands/crypto-addresses-module.js +43 -18
  122. package/esm/public/cli/commands/crypto-auth-module.js +55 -24
  123. package/esm/public/cli/commands/database-provision-module.js +55 -24
  124. package/esm/public/cli/commands/database-transfer.js +55 -24
  125. package/esm/public/cli/commands/database.js +43 -18
  126. package/esm/public/cli/commands/default-ids-module.js +31 -12
  127. package/esm/public/cli/commands/default-privilege.js +41 -17
  128. package/esm/public/cli/commands/denormalized-table-field.js +51 -22
  129. package/esm/public/cli/commands/domain.js +39 -16
  130. package/esm/public/cli/commands/email.js +41 -17
  131. package/esm/public/cli/commands/emails-module.js +41 -17
  132. package/esm/public/cli/commands/embedding-chunk.js +63 -28
  133. package/esm/public/cli/commands/encrypted-secrets-module.js +37 -15
  134. package/esm/public/cli/commands/enum.js +51 -22
  135. package/esm/public/cli/commands/field.js +75 -34
  136. package/esm/public/cli/commands/foreign-key-constraint.js +63 -28
  137. package/esm/public/cli/commands/full-text-search.js +45 -19
  138. package/esm/public/cli/commands/get-all-record.js +31 -12
  139. package/esm/public/cli/commands/hierarchy-module.js +67 -30
  140. package/esm/public/cli/commands/index.js +65 -29
  141. package/esm/public/cli/commands/invite.js +51 -22
  142. package/esm/public/cli/commands/invites-module.js +55 -24
  143. package/esm/public/cli/commands/levels-module.js +79 -36
  144. package/esm/public/cli/commands/limits-module.js +63 -28
  145. package/esm/public/cli/commands/membership-type.js +35 -14
  146. package/esm/public/cli/commands/membership-types-module.js +37 -15
  147. package/esm/public/cli/commands/memberships-module.js +89 -41
  148. package/esm/public/cli/commands/migrate-file.js +33 -13
  149. package/esm/public/cli/commands/node-type-registry.js +89 -19
  150. package/esm/public/cli/commands/object.js +41 -17
  151. package/esm/public/cli/commands/org-admin-grant.js +41 -17
  152. package/esm/public/cli/commands/org-chart-edge-grant.js +45 -19
  153. package/esm/public/cli/commands/org-chart-edge.js +43 -18
  154. package/esm/public/cli/commands/org-claimed-invite.js +41 -17
  155. package/esm/public/cli/commands/org-get-managers-record.js +31 -12
  156. package/esm/public/cli/commands/org-get-subordinates-record.js +31 -12
  157. package/esm/public/cli/commands/org-grant.js +43 -18
  158. package/esm/public/cli/commands/org-invite.js +55 -24
  159. package/esm/public/cli/commands/org-limit-default.js +33 -13
  160. package/esm/public/cli/commands/org-limit.js +39 -16
  161. package/esm/public/cli/commands/org-member.js +35 -14
  162. package/esm/public/cli/commands/org-membership-default.js +45 -19
  163. package/esm/public/cli/commands/org-membership.js +59 -26
  164. package/esm/public/cli/commands/org-owner-grant.js +41 -17
  165. package/esm/public/cli/commands/org-permission-default.js +33 -13
  166. package/esm/public/cli/commands/org-permission.js +37 -15
  167. package/esm/public/cli/commands/permissions-module.js +61 -27
  168. package/esm/public/cli/commands/phone-number.js +43 -18
  169. package/esm/public/cli/commands/phone-numbers-module.js +41 -17
  170. package/esm/public/cli/commands/policy.js +61 -27
  171. package/esm/public/cli/commands/primary-key-constraint.js +53 -23
  172. package/esm/public/cli/commands/profiles-module.js +63 -28
  173. package/esm/public/cli/commands/ref.js +37 -15
  174. package/esm/public/cli/commands/relation-provision.js +89 -41
  175. package/esm/public/cli/commands/rls-module.js +49 -21
  176. package/esm/public/cli/commands/role-type.js +31 -12
  177. package/esm/public/cli/commands/schema-grant.js +39 -16
  178. package/esm/public/cli/commands/schema.js +55 -24
  179. package/esm/public/cli/commands/secrets-module.js +37 -15
  180. package/esm/public/cli/commands/secure-table-provision.js +63 -28
  181. package/esm/public/cli/commands/sessions-module.js +49 -21
  182. package/esm/public/cli/commands/site-metadatum.js +39 -16
  183. package/esm/public/cli/commands/site-module.js +37 -15
  184. package/esm/public/cli/commands/site-theme.js +35 -14
  185. package/esm/public/cli/commands/site.js +45 -19
  186. package/esm/public/cli/commands/sql-action.js +53 -23
  187. package/esm/public/cli/commands/store.js +37 -15
  188. package/esm/public/cli/commands/table-grant.js +45 -19
  189. package/esm/public/cli/commands/table-template-module.js +45 -19
  190. package/esm/public/cli/commands/table.js +65 -29
  191. package/esm/public/cli/commands/trigger-function.js +39 -16
  192. package/esm/public/cli/commands/trigger.js +53 -23
  193. package/esm/public/cli/commands/unique-constraint.js +55 -24
  194. package/esm/public/cli/commands/user-auth-module.js +79 -36
  195. package/esm/public/cli/commands/user.js +81 -17
  196. package/esm/public/cli/commands/users-module.js +41 -17
  197. package/esm/public/cli/commands/view-grant.js +41 -17
  198. package/esm/public/cli/commands/view-rule.js +39 -16
  199. package/esm/public/cli/commands/view-table.js +35 -14
  200. package/esm/public/cli/commands/view.js +59 -26
  201. package/esm/public/cli/commands.js +3 -3
  202. package/esm/public/cli/executor.d.ts +1 -1
  203. package/esm/public/cli/utils.d.ts +38 -0
  204. package/esm/public/cli/utils.js +90 -0
  205. package/esm/public/orm/index.d.ts +2 -2
  206. package/esm/public/orm/index.js +2 -2
  207. package/esm/public/orm/input-types.d.ts +161 -147
  208. package/esm/public/orm/models/index.d.ts +1 -1
  209. package/esm/public/orm/models/index.js +1 -1
  210. package/objects/cli/commands/commit.js +44 -18
  211. package/objects/cli/commands/get-all-record.js +30 -11
  212. package/objects/cli/commands/object.js +40 -16
  213. package/objects/cli/commands/ref.js +36 -14
  214. package/objects/cli/commands/store.js +36 -14
  215. package/objects/cli/utils.d.ts +38 -0
  216. package/objects/cli/utils.js +96 -0
  217. package/package.json +3 -3
  218. package/public/cli/commands/api-module.js +36 -14
  219. package/public/cli/commands/api-schema.js +34 -13
  220. package/public/cli/commands/api.js +40 -16
  221. package/public/cli/commands/app-achievement.js +38 -15
  222. package/public/cli/commands/app-admin-grant.js +38 -15
  223. package/public/cli/commands/app-grant.js +40 -16
  224. package/public/cli/commands/app-level-requirement.js +42 -17
  225. package/public/cli/commands/app-level.js +40 -16
  226. package/public/cli/commands/app-limit-default.js +32 -12
  227. package/public/cli/commands/app-limit.js +36 -14
  228. package/public/cli/commands/app-membership-default.js +40 -16
  229. package/public/cli/commands/app-membership.js +58 -25
  230. package/public/cli/commands/app-owner-grant.js +38 -15
  231. package/public/cli/commands/app-permission-default.js +30 -11
  232. package/public/cli/commands/app-permission.js +36 -14
  233. package/public/cli/commands/app-step.js +38 -15
  234. package/public/cli/commands/app.js +44 -18
  235. package/public/cli/commands/ast-migration.js +52 -22
  236. package/public/cli/commands/audit-log.js +42 -17
  237. package/public/cli/commands/blueprint-template.js +66 -29
  238. package/public/cli/commands/blueprint.js +60 -26
  239. package/public/cli/commands/check-constraint.js +54 -23
  240. package/public/cli/commands/claimed-invite.js +38 -15
  241. package/public/cli/commands/commit.js +44 -18
  242. package/public/cli/commands/connected-account.js +42 -17
  243. package/public/cli/commands/connected-accounts-module.js +40 -16
  244. package/public/cli/commands/crypto-address.js +40 -16
  245. package/public/cli/commands/crypto-addresses-module.js +42 -17
  246. package/public/cli/commands/crypto-auth-module.js +54 -23
  247. package/public/cli/commands/database-provision-module.js +54 -23
  248. package/public/cli/commands/database-transfer.js +54 -23
  249. package/public/cli/commands/database.js +42 -17
  250. package/public/cli/commands/default-ids-module.js +30 -11
  251. package/public/cli/commands/default-privilege.js +40 -16
  252. package/public/cli/commands/denormalized-table-field.js +50 -21
  253. package/public/cli/commands/domain.js +38 -15
  254. package/public/cli/commands/email.js +40 -16
  255. package/public/cli/commands/emails-module.js +40 -16
  256. package/public/cli/commands/embedding-chunk.js +62 -27
  257. package/public/cli/commands/encrypted-secrets-module.js +36 -14
  258. package/public/cli/commands/enum.js +50 -21
  259. package/public/cli/commands/field.js +74 -33
  260. package/public/cli/commands/foreign-key-constraint.js +62 -27
  261. package/public/cli/commands/full-text-search.js +44 -18
  262. package/public/cli/commands/get-all-record.js +30 -11
  263. package/public/cli/commands/hierarchy-module.js +66 -29
  264. package/public/cli/commands/index.js +64 -28
  265. package/public/cli/commands/invite.js +50 -21
  266. package/public/cli/commands/invites-module.js +54 -23
  267. package/public/cli/commands/levels-module.js +78 -35
  268. package/public/cli/commands/limits-module.js +62 -27
  269. package/public/cli/commands/membership-type.js +34 -13
  270. package/public/cli/commands/membership-types-module.js +36 -14
  271. package/public/cli/commands/memberships-module.js +88 -40
  272. package/public/cli/commands/migrate-file.js +32 -12
  273. package/public/cli/commands/node-type-registry.js +88 -18
  274. package/public/cli/commands/object.js +40 -16
  275. package/public/cli/commands/org-admin-grant.js +40 -16
  276. package/public/cli/commands/org-chart-edge-grant.js +44 -18
  277. package/public/cli/commands/org-chart-edge.js +42 -17
  278. package/public/cli/commands/org-claimed-invite.js +40 -16
  279. package/public/cli/commands/org-get-managers-record.js +30 -11
  280. package/public/cli/commands/org-get-subordinates-record.js +30 -11
  281. package/public/cli/commands/org-grant.js +42 -17
  282. package/public/cli/commands/org-invite.js +54 -23
  283. package/public/cli/commands/org-limit-default.js +32 -12
  284. package/public/cli/commands/org-limit.js +38 -15
  285. package/public/cli/commands/org-member.js +34 -13
  286. package/public/cli/commands/org-membership-default.js +44 -18
  287. package/public/cli/commands/org-membership.js +58 -25
  288. package/public/cli/commands/org-owner-grant.js +40 -16
  289. package/public/cli/commands/org-permission-default.js +32 -12
  290. package/public/cli/commands/org-permission.js +36 -14
  291. package/public/cli/commands/permissions-module.js +60 -26
  292. package/public/cli/commands/phone-number.js +42 -17
  293. package/public/cli/commands/phone-numbers-module.js +40 -16
  294. package/public/cli/commands/policy.js +60 -26
  295. package/public/cli/commands/primary-key-constraint.js +52 -22
  296. package/public/cli/commands/profiles-module.js +62 -27
  297. package/public/cli/commands/ref.js +36 -14
  298. package/public/cli/commands/relation-provision.js +88 -40
  299. package/public/cli/commands/rls-module.js +48 -20
  300. package/public/cli/commands/role-type.js +30 -11
  301. package/public/cli/commands/schema-grant.js +38 -15
  302. package/public/cli/commands/schema.js +54 -23
  303. package/public/cli/commands/secrets-module.js +36 -14
  304. package/public/cli/commands/secure-table-provision.js +62 -27
  305. package/public/cli/commands/sessions-module.js +48 -20
  306. package/public/cli/commands/site-metadatum.js +38 -15
  307. package/public/cli/commands/site-module.js +36 -14
  308. package/public/cli/commands/site-theme.js +34 -13
  309. package/public/cli/commands/site.js +44 -18
  310. package/public/cli/commands/sql-action.js +52 -22
  311. package/public/cli/commands/store.js +36 -14
  312. package/public/cli/commands/table-grant.js +44 -18
  313. package/public/cli/commands/table-template-module.js +44 -18
  314. package/public/cli/commands/table.js +64 -28
  315. package/public/cli/commands/trigger-function.js +38 -15
  316. package/public/cli/commands/trigger.js +52 -22
  317. package/public/cli/commands/unique-constraint.js +54 -23
  318. package/public/cli/commands/user-auth-module.js +78 -35
  319. package/public/cli/commands/user.js +80 -16
  320. package/public/cli/commands/users-module.js +40 -16
  321. package/public/cli/commands/view-grant.js +40 -16
  322. package/public/cli/commands/view-rule.js +38 -15
  323. package/public/cli/commands/view-table.js +34 -13
  324. package/public/cli/commands/view.js +58 -25
  325. package/public/cli/commands.js +3 -3
  326. package/public/cli/executor.d.ts +1 -1
  327. package/public/cli/utils.d.ts +38 -0
  328. package/public/cli/utils.js +96 -0
  329. package/public/orm/index.d.ts +2 -2
  330. package/public/orm/index.js +2 -2
  331. package/public/orm/input-types.d.ts +161 -147
  332. package/public/orm/models/index.d.ts +1 -1
  333. package/public/orm/models/index.js +4 -4
@@ -5,7 +5,7 @@
5
5
  */
6
6
  import { extractFirst } from 'inquirerer';
7
7
  import { getClient } from '../executor';
8
- import { coerceAnswers, stripUndefined } from '../utils';
8
+ import { coerceAnswers, parseFindFirstArgs, parseFindManyArgs, stripUndefined } from '../utils';
9
9
  const fieldSchema = {
10
10
  id: 'uuid',
11
11
  databaseId: 'uuid',
@@ -22,7 +22,7 @@ const fieldSchema = {
22
22
  createdAt: 'string',
23
23
  updatedAt: 'string',
24
24
  };
25
- const usage = '\nschema <command>\n\nCommands:\n list List all schema records\n get Get a schema by ID\n create Create a new schema\n update Update an existing schema\n delete Delete a schema\n\n --help, -h Show this help message\n';
25
+ const usage = '\nschema <command>\n\nCommands:\n list List schema records\n find-first Find first matching schema record\n get Get a schema by ID\n create Create a new schema\n update Update an existing schema\n delete Delete a schema\n\nList Options:\n --limit <n> Max number of records to return (forward pagination)\n --last <n> Number of records from the end (backward pagination)\n --after <cursor> Cursor for forward pagination\n --before <cursor> Cursor for backward pagination\n --offset <n> Number of records to skip\n --select <fields> Comma-separated list of fields to return\n --where.<field>.<op> Filter (dot-notation, e.g. --where.name.equalTo foo)\n --condition.<f>.<op> Condition filter (dot-notation)\n --orderBy <values> Comma-separated ordering values (e.g. NAME_ASC,CREATED_AT_DESC)\n\nFind-First Options:\n --select <fields> Comma-separated list of fields to return\n --where.<field>.<op> Filter (dot-notation, e.g. --where.status.equalTo active)\n --condition.<f>.<op> Condition filter (dot-notation)\n\n --help, -h Show this help message\n';
26
26
  export default async (argv, prompter, _options) => {
27
27
  if (argv.help || argv.h) {
28
28
  console.log(usage);
@@ -35,7 +35,7 @@ export default async (argv, prompter, _options) => {
35
35
  type: 'autocomplete',
36
36
  name: 'subcommand',
37
37
  message: 'What do you want to do?',
38
- options: ['list', 'get', 'create', 'update', 'delete'],
38
+ options: ['list', 'find-first', 'get', 'create', 'update', 'delete'],
39
39
  },
40
40
  ]);
41
41
  return handleTableSubcommand(answer.subcommand, newArgv, prompter);
@@ -46,6 +46,8 @@ async function handleTableSubcommand(subcommand, argv, prompter) {
46
46
  switch (subcommand) {
47
47
  case 'list':
48
48
  return handleList(argv, prompter);
49
+ case 'find-first':
50
+ return handleFindFirst(argv, prompter);
49
51
  case 'get':
50
52
  return handleGet(argv, prompter);
51
53
  case 'create':
@@ -59,29 +61,27 @@ async function handleTableSubcommand(subcommand, argv, prompter) {
59
61
  process.exit(1);
60
62
  }
61
63
  }
62
- async function handleList(_argv, _prompter) {
64
+ async function handleList(argv, _prompter) {
63
65
  try {
66
+ const defaultSelect = {
67
+ id: true,
68
+ databaseId: true,
69
+ name: true,
70
+ schemaName: true,
71
+ label: true,
72
+ description: true,
73
+ smartTags: true,
74
+ category: true,
75
+ module: true,
76
+ scope: true,
77
+ tags: true,
78
+ isPublic: true,
79
+ createdAt: true,
80
+ updatedAt: true,
81
+ };
82
+ const findManyArgs = parseFindManyArgs(argv, defaultSelect);
64
83
  const client = getClient();
65
- const result = await client.schema
66
- .findMany({
67
- select: {
68
- id: true,
69
- databaseId: true,
70
- name: true,
71
- schemaName: true,
72
- label: true,
73
- description: true,
74
- smartTags: true,
75
- category: true,
76
- module: true,
77
- scope: true,
78
- tags: true,
79
- isPublic: true,
80
- createdAt: true,
81
- updatedAt: true,
82
- },
83
- })
84
- .execute();
84
+ const result = await client.schema.findMany(findManyArgs).execute();
85
85
  console.log(JSON.stringify(result, null, 2));
86
86
  }
87
87
  catch (error) {
@@ -92,6 +92,37 @@ async function handleList(_argv, _prompter) {
92
92
  process.exit(1);
93
93
  }
94
94
  }
95
+ async function handleFindFirst(argv, _prompter) {
96
+ try {
97
+ const defaultSelect = {
98
+ id: true,
99
+ databaseId: true,
100
+ name: true,
101
+ schemaName: true,
102
+ label: true,
103
+ description: true,
104
+ smartTags: true,
105
+ category: true,
106
+ module: true,
107
+ scope: true,
108
+ tags: true,
109
+ isPublic: true,
110
+ createdAt: true,
111
+ updatedAt: true,
112
+ };
113
+ const findFirstArgs = parseFindFirstArgs(argv, defaultSelect);
114
+ const client = getClient();
115
+ const result = await client.schema.findFirst(findFirstArgs).execute();
116
+ console.log(JSON.stringify(result, null, 2));
117
+ }
118
+ catch (error) {
119
+ console.error('Failed to find record.');
120
+ if (error instanceof Error) {
121
+ console.error(error.message);
122
+ }
123
+ process.exit(1);
124
+ }
125
+ }
95
126
  async function handleGet(argv, prompter) {
96
127
  try {
97
128
  const answers = await prompter.prompt(argv, [
@@ -5,7 +5,7 @@
5
5
  */
6
6
  import { extractFirst } from 'inquirerer';
7
7
  import { getClient } from '../executor';
8
- import { coerceAnswers, stripUndefined } from '../utils';
8
+ import { coerceAnswers, parseFindFirstArgs, parseFindManyArgs, stripUndefined } from '../utils';
9
9
  const fieldSchema = {
10
10
  id: 'uuid',
11
11
  databaseId: 'uuid',
@@ -13,7 +13,7 @@ const fieldSchema = {
13
13
  tableId: 'uuid',
14
14
  tableName: 'string',
15
15
  };
16
- const usage = '\nsecrets-module <command>\n\nCommands:\n list List all secretsModule records\n get Get a secretsModule by ID\n create Create a new secretsModule\n update Update an existing secretsModule\n delete Delete a secretsModule\n\n --help, -h Show this help message\n';
16
+ const usage = '\nsecrets-module <command>\n\nCommands:\n list List secretsModule records\n find-first Find first matching secretsModule record\n get Get a secretsModule by ID\n create Create a new secretsModule\n update Update an existing secretsModule\n delete Delete a secretsModule\n\nList Options:\n --limit <n> Max number of records to return (forward pagination)\n --last <n> Number of records from the end (backward pagination)\n --after <cursor> Cursor for forward pagination\n --before <cursor> Cursor for backward pagination\n --offset <n> Number of records to skip\n --select <fields> Comma-separated list of fields to return\n --where.<field>.<op> Filter (dot-notation, e.g. --where.name.equalTo foo)\n --condition.<f>.<op> Condition filter (dot-notation)\n --orderBy <values> Comma-separated ordering values (e.g. NAME_ASC,CREATED_AT_DESC)\n\nFind-First Options:\n --select <fields> Comma-separated list of fields to return\n --where.<field>.<op> Filter (dot-notation, e.g. --where.status.equalTo active)\n --condition.<f>.<op> Condition filter (dot-notation)\n\n --help, -h Show this help message\n';
17
17
  export default async (argv, prompter, _options) => {
18
18
  if (argv.help || argv.h) {
19
19
  console.log(usage);
@@ -26,7 +26,7 @@ export default async (argv, prompter, _options) => {
26
26
  type: 'autocomplete',
27
27
  name: 'subcommand',
28
28
  message: 'What do you want to do?',
29
- options: ['list', 'get', 'create', 'update', 'delete'],
29
+ options: ['list', 'find-first', 'get', 'create', 'update', 'delete'],
30
30
  },
31
31
  ]);
32
32
  return handleTableSubcommand(answer.subcommand, newArgv, prompter);
@@ -37,6 +37,8 @@ async function handleTableSubcommand(subcommand, argv, prompter) {
37
37
  switch (subcommand) {
38
38
  case 'list':
39
39
  return handleList(argv, prompter);
40
+ case 'find-first':
41
+ return handleFindFirst(argv, prompter);
40
42
  case 'get':
41
43
  return handleGet(argv, prompter);
42
44
  case 'create':
@@ -50,20 +52,18 @@ async function handleTableSubcommand(subcommand, argv, prompter) {
50
52
  process.exit(1);
51
53
  }
52
54
  }
53
- async function handleList(_argv, _prompter) {
55
+ async function handleList(argv, _prompter) {
54
56
  try {
57
+ const defaultSelect = {
58
+ id: true,
59
+ databaseId: true,
60
+ schemaId: true,
61
+ tableId: true,
62
+ tableName: true,
63
+ };
64
+ const findManyArgs = parseFindManyArgs(argv, defaultSelect);
55
65
  const client = getClient();
56
- const result = await client.secretsModule
57
- .findMany({
58
- select: {
59
- id: true,
60
- databaseId: true,
61
- schemaId: true,
62
- tableId: true,
63
- tableName: true,
64
- },
65
- })
66
- .execute();
66
+ const result = await client.secretsModule.findMany(findManyArgs).execute();
67
67
  console.log(JSON.stringify(result, null, 2));
68
68
  }
69
69
  catch (error) {
@@ -74,6 +74,28 @@ async function handleList(_argv, _prompter) {
74
74
  process.exit(1);
75
75
  }
76
76
  }
77
+ async function handleFindFirst(argv, _prompter) {
78
+ try {
79
+ const defaultSelect = {
80
+ id: true,
81
+ databaseId: true,
82
+ schemaId: true,
83
+ tableId: true,
84
+ tableName: true,
85
+ };
86
+ const findFirstArgs = parseFindFirstArgs(argv, defaultSelect);
87
+ const client = getClient();
88
+ const result = await client.secretsModule.findFirst(findFirstArgs).execute();
89
+ console.log(JSON.stringify(result, null, 2));
90
+ }
91
+ catch (error) {
92
+ console.error('Failed to find record.');
93
+ if (error instanceof Error) {
94
+ console.error(error.message);
95
+ }
96
+ process.exit(1);
97
+ }
98
+ }
77
99
  async function handleGet(argv, prompter) {
78
100
  try {
79
101
  const answers = await prompter.prompt(argv, [
@@ -5,7 +5,7 @@
5
5
  */
6
6
  import { extractFirst } from 'inquirerer';
7
7
  import { getClient } from '../executor';
8
- import { coerceAnswers, stripUndefined } from '../utils';
8
+ import { coerceAnswers, parseFindFirstArgs, parseFindManyArgs, stripUndefined } from '../utils';
9
9
  const fieldSchema = {
10
10
  id: 'uuid',
11
11
  databaseId: 'uuid',
@@ -26,7 +26,7 @@ const fieldSchema = {
26
26
  policyData: 'json',
27
27
  outFields: 'uuid',
28
28
  };
29
- const usage = '\nsecure-table-provision <command>\n\nCommands:\n list List all secureTableProvision records\n get Get a secureTableProvision by ID\n create Create a new secureTableProvision\n update Update an existing secureTableProvision\n delete Delete a secureTableProvision\n\n --help, -h Show this help message\n';
29
+ const usage = '\nsecure-table-provision <command>\n\nCommands:\n list List secureTableProvision records\n find-first Find first matching secureTableProvision record\n get Get a secureTableProvision by ID\n create Create a new secureTableProvision\n update Update an existing secureTableProvision\n delete Delete a secureTableProvision\n\nList Options:\n --limit <n> Max number of records to return (forward pagination)\n --last <n> Number of records from the end (backward pagination)\n --after <cursor> Cursor for forward pagination\n --before <cursor> Cursor for backward pagination\n --offset <n> Number of records to skip\n --select <fields> Comma-separated list of fields to return\n --where.<field>.<op> Filter (dot-notation, e.g. --where.name.equalTo foo)\n --condition.<f>.<op> Condition filter (dot-notation)\n --orderBy <values> Comma-separated ordering values (e.g. NAME_ASC,CREATED_AT_DESC)\n\nFind-First Options:\n --select <fields> Comma-separated list of fields to return\n --where.<field>.<op> Filter (dot-notation, e.g. --where.status.equalTo active)\n --condition.<f>.<op> Condition filter (dot-notation)\n\n --help, -h Show this help message\n';
30
30
  export default async (argv, prompter, _options) => {
31
31
  if (argv.help || argv.h) {
32
32
  console.log(usage);
@@ -39,7 +39,7 @@ export default async (argv, prompter, _options) => {
39
39
  type: 'autocomplete',
40
40
  name: 'subcommand',
41
41
  message: 'What do you want to do?',
42
- options: ['list', 'get', 'create', 'update', 'delete'],
42
+ options: ['list', 'find-first', 'get', 'create', 'update', 'delete'],
43
43
  },
44
44
  ]);
45
45
  return handleTableSubcommand(answer.subcommand, newArgv, prompter);
@@ -50,6 +50,8 @@ async function handleTableSubcommand(subcommand, argv, prompter) {
50
50
  switch (subcommand) {
51
51
  case 'list':
52
52
  return handleList(argv, prompter);
53
+ case 'find-first':
54
+ return handleFindFirst(argv, prompter);
53
55
  case 'get':
54
56
  return handleGet(argv, prompter);
55
57
  case 'create':
@@ -63,33 +65,31 @@ async function handleTableSubcommand(subcommand, argv, prompter) {
63
65
  process.exit(1);
64
66
  }
65
67
  }
66
- async function handleList(_argv, _prompter) {
68
+ async function handleList(argv, _prompter) {
67
69
  try {
70
+ const defaultSelect = {
71
+ id: true,
72
+ databaseId: true,
73
+ schemaId: true,
74
+ tableId: true,
75
+ tableName: true,
76
+ nodeType: true,
77
+ useRls: true,
78
+ nodeData: true,
79
+ fields: true,
80
+ grantRoles: true,
81
+ grantPrivileges: true,
82
+ policyType: true,
83
+ policyPrivileges: true,
84
+ policyRole: true,
85
+ policyPermissive: true,
86
+ policyName: true,
87
+ policyData: true,
88
+ outFields: true,
89
+ };
90
+ const findManyArgs = parseFindManyArgs(argv, defaultSelect);
68
91
  const client = getClient();
69
- const result = await client.secureTableProvision
70
- .findMany({
71
- select: {
72
- id: true,
73
- databaseId: true,
74
- schemaId: true,
75
- tableId: true,
76
- tableName: true,
77
- nodeType: true,
78
- useRls: true,
79
- nodeData: true,
80
- fields: true,
81
- grantRoles: true,
82
- grantPrivileges: true,
83
- policyType: true,
84
- policyPrivileges: true,
85
- policyRole: true,
86
- policyPermissive: true,
87
- policyName: true,
88
- policyData: true,
89
- outFields: true,
90
- },
91
- })
92
- .execute();
92
+ const result = await client.secureTableProvision.findMany(findManyArgs).execute();
93
93
  console.log(JSON.stringify(result, null, 2));
94
94
  }
95
95
  catch (error) {
@@ -100,6 +100,41 @@ async function handleList(_argv, _prompter) {
100
100
  process.exit(1);
101
101
  }
102
102
  }
103
+ async function handleFindFirst(argv, _prompter) {
104
+ try {
105
+ const defaultSelect = {
106
+ id: true,
107
+ databaseId: true,
108
+ schemaId: true,
109
+ tableId: true,
110
+ tableName: true,
111
+ nodeType: true,
112
+ useRls: true,
113
+ nodeData: true,
114
+ fields: true,
115
+ grantRoles: true,
116
+ grantPrivileges: true,
117
+ policyType: true,
118
+ policyPrivileges: true,
119
+ policyRole: true,
120
+ policyPermissive: true,
121
+ policyName: true,
122
+ policyData: true,
123
+ outFields: true,
124
+ };
125
+ const findFirstArgs = parseFindFirstArgs(argv, defaultSelect);
126
+ const client = getClient();
127
+ const result = await client.secureTableProvision.findFirst(findFirstArgs).execute();
128
+ console.log(JSON.stringify(result, null, 2));
129
+ }
130
+ catch (error) {
131
+ console.error('Failed to find record.');
132
+ if (error instanceof Error) {
133
+ console.error(error.message);
134
+ }
135
+ process.exit(1);
136
+ }
137
+ }
103
138
  async function handleGet(argv, prompter) {
104
139
  try {
105
140
  const answers = await prompter.prompt(argv, [
@@ -5,7 +5,7 @@
5
5
  */
6
6
  import { extractFirst } from 'inquirerer';
7
7
  import { getClient } from '../executor';
8
- import { coerceAnswers, stripUndefined } from '../utils';
8
+ import { coerceAnswers, parseFindFirstArgs, parseFindManyArgs, stripUndefined } from '../utils';
9
9
  const fieldSchema = {
10
10
  id: 'uuid',
11
11
  databaseId: 'uuid',
@@ -19,7 +19,7 @@ const fieldSchema = {
19
19
  sessionCredentialsTable: 'string',
20
20
  authSettingsTable: 'string',
21
21
  };
22
- const usage = '\nsessions-module <command>\n\nCommands:\n list List all sessionsModule records\n get Get a sessionsModule by ID\n create Create a new sessionsModule\n update Update an existing sessionsModule\n delete Delete a sessionsModule\n\n --help, -h Show this help message\n';
22
+ const usage = '\nsessions-module <command>\n\nCommands:\n list List sessionsModule records\n find-first Find first matching sessionsModule record\n get Get a sessionsModule by ID\n create Create a new sessionsModule\n update Update an existing sessionsModule\n delete Delete a sessionsModule\n\nList Options:\n --limit <n> Max number of records to return (forward pagination)\n --last <n> Number of records from the end (backward pagination)\n --after <cursor> Cursor for forward pagination\n --before <cursor> Cursor for backward pagination\n --offset <n> Number of records to skip\n --select <fields> Comma-separated list of fields to return\n --where.<field>.<op> Filter (dot-notation, e.g. --where.name.equalTo foo)\n --condition.<f>.<op> Condition filter (dot-notation)\n --orderBy <values> Comma-separated ordering values (e.g. NAME_ASC,CREATED_AT_DESC)\n\nFind-First Options:\n --select <fields> Comma-separated list of fields to return\n --where.<field>.<op> Filter (dot-notation, e.g. --where.status.equalTo active)\n --condition.<f>.<op> Condition filter (dot-notation)\n\n --help, -h Show this help message\n';
23
23
  export default async (argv, prompter, _options) => {
24
24
  if (argv.help || argv.h) {
25
25
  console.log(usage);
@@ -32,7 +32,7 @@ export default async (argv, prompter, _options) => {
32
32
  type: 'autocomplete',
33
33
  name: 'subcommand',
34
34
  message: 'What do you want to do?',
35
- options: ['list', 'get', 'create', 'update', 'delete'],
35
+ options: ['list', 'find-first', 'get', 'create', 'update', 'delete'],
36
36
  },
37
37
  ]);
38
38
  return handleTableSubcommand(answer.subcommand, newArgv, prompter);
@@ -43,6 +43,8 @@ async function handleTableSubcommand(subcommand, argv, prompter) {
43
43
  switch (subcommand) {
44
44
  case 'list':
45
45
  return handleList(argv, prompter);
46
+ case 'find-first':
47
+ return handleFindFirst(argv, prompter);
46
48
  case 'get':
47
49
  return handleGet(argv, prompter);
48
50
  case 'create':
@@ -56,26 +58,24 @@ async function handleTableSubcommand(subcommand, argv, prompter) {
56
58
  process.exit(1);
57
59
  }
58
60
  }
59
- async function handleList(_argv, _prompter) {
61
+ async function handleList(argv, _prompter) {
60
62
  try {
63
+ const defaultSelect = {
64
+ id: true,
65
+ databaseId: true,
66
+ schemaId: true,
67
+ sessionsTableId: true,
68
+ sessionCredentialsTableId: true,
69
+ authSettingsTableId: true,
70
+ usersTableId: true,
71
+ sessionsDefaultExpiration: true,
72
+ sessionsTable: true,
73
+ sessionCredentialsTable: true,
74
+ authSettingsTable: true,
75
+ };
76
+ const findManyArgs = parseFindManyArgs(argv, defaultSelect);
61
77
  const client = getClient();
62
- const result = await client.sessionsModule
63
- .findMany({
64
- select: {
65
- id: true,
66
- databaseId: true,
67
- schemaId: true,
68
- sessionsTableId: true,
69
- sessionCredentialsTableId: true,
70
- authSettingsTableId: true,
71
- usersTableId: true,
72
- sessionsDefaultExpiration: true,
73
- sessionsTable: true,
74
- sessionCredentialsTable: true,
75
- authSettingsTable: true,
76
- },
77
- })
78
- .execute();
78
+ const result = await client.sessionsModule.findMany(findManyArgs).execute();
79
79
  console.log(JSON.stringify(result, null, 2));
80
80
  }
81
81
  catch (error) {
@@ -86,6 +86,34 @@ async function handleList(_argv, _prompter) {
86
86
  process.exit(1);
87
87
  }
88
88
  }
89
+ async function handleFindFirst(argv, _prompter) {
90
+ try {
91
+ const defaultSelect = {
92
+ id: true,
93
+ databaseId: true,
94
+ schemaId: true,
95
+ sessionsTableId: true,
96
+ sessionCredentialsTableId: true,
97
+ authSettingsTableId: true,
98
+ usersTableId: true,
99
+ sessionsDefaultExpiration: true,
100
+ sessionsTable: true,
101
+ sessionCredentialsTable: true,
102
+ authSettingsTable: true,
103
+ };
104
+ const findFirstArgs = parseFindFirstArgs(argv, defaultSelect);
105
+ const client = getClient();
106
+ const result = await client.sessionsModule.findFirst(findFirstArgs).execute();
107
+ console.log(JSON.stringify(result, null, 2));
108
+ }
109
+ catch (error) {
110
+ console.error('Failed to find record.');
111
+ if (error instanceof Error) {
112
+ console.error(error.message);
113
+ }
114
+ process.exit(1);
115
+ }
116
+ }
89
117
  async function handleGet(argv, prompter) {
90
118
  try {
91
119
  const answers = await prompter.prompt(argv, [
@@ -5,7 +5,7 @@
5
5
  */
6
6
  import { extractFirst } from 'inquirerer';
7
7
  import { getClient } from '../executor';
8
- import { coerceAnswers, stripUndefined } from '../utils';
8
+ import { coerceAnswers, parseFindFirstArgs, parseFindManyArgs, stripUndefined } from '../utils';
9
9
  const fieldSchema = {
10
10
  id: 'uuid',
11
11
  databaseId: 'uuid',
@@ -14,7 +14,7 @@ const fieldSchema = {
14
14
  description: 'string',
15
15
  ogImage: 'string',
16
16
  };
17
- const usage = '\nsite-metadatum <command>\n\nCommands:\n list List all siteMetadatum records\n get Get a siteMetadatum by ID\n create Create a new siteMetadatum\n update Update an existing siteMetadatum\n delete Delete a siteMetadatum\n\n --help, -h Show this help message\n';
17
+ const usage = '\nsite-metadatum <command>\n\nCommands:\n list List siteMetadatum records\n find-first Find first matching siteMetadatum record\n get Get a siteMetadatum by ID\n create Create a new siteMetadatum\n update Update an existing siteMetadatum\n delete Delete a siteMetadatum\n\nList Options:\n --limit <n> Max number of records to return (forward pagination)\n --last <n> Number of records from the end (backward pagination)\n --after <cursor> Cursor for forward pagination\n --before <cursor> Cursor for backward pagination\n --offset <n> Number of records to skip\n --select <fields> Comma-separated list of fields to return\n --where.<field>.<op> Filter (dot-notation, e.g. --where.name.equalTo foo)\n --condition.<f>.<op> Condition filter (dot-notation)\n --orderBy <values> Comma-separated ordering values (e.g. NAME_ASC,CREATED_AT_DESC)\n\nFind-First Options:\n --select <fields> Comma-separated list of fields to return\n --where.<field>.<op> Filter (dot-notation, e.g. --where.status.equalTo active)\n --condition.<f>.<op> Condition filter (dot-notation)\n\n --help, -h Show this help message\n';
18
18
  export default async (argv, prompter, _options) => {
19
19
  if (argv.help || argv.h) {
20
20
  console.log(usage);
@@ -27,7 +27,7 @@ export default async (argv, prompter, _options) => {
27
27
  type: 'autocomplete',
28
28
  name: 'subcommand',
29
29
  message: 'What do you want to do?',
30
- options: ['list', 'get', 'create', 'update', 'delete'],
30
+ options: ['list', 'find-first', 'get', 'create', 'update', 'delete'],
31
31
  },
32
32
  ]);
33
33
  return handleTableSubcommand(answer.subcommand, newArgv, prompter);
@@ -38,6 +38,8 @@ async function handleTableSubcommand(subcommand, argv, prompter) {
38
38
  switch (subcommand) {
39
39
  case 'list':
40
40
  return handleList(argv, prompter);
41
+ case 'find-first':
42
+ return handleFindFirst(argv, prompter);
41
43
  case 'get':
42
44
  return handleGet(argv, prompter);
43
45
  case 'create':
@@ -51,21 +53,19 @@ async function handleTableSubcommand(subcommand, argv, prompter) {
51
53
  process.exit(1);
52
54
  }
53
55
  }
54
- async function handleList(_argv, _prompter) {
56
+ async function handleList(argv, _prompter) {
55
57
  try {
58
+ const defaultSelect = {
59
+ id: true,
60
+ databaseId: true,
61
+ siteId: true,
62
+ title: true,
63
+ description: true,
64
+ ogImage: true,
65
+ };
66
+ const findManyArgs = parseFindManyArgs(argv, defaultSelect);
56
67
  const client = getClient();
57
- const result = await client.siteMetadatum
58
- .findMany({
59
- select: {
60
- id: true,
61
- databaseId: true,
62
- siteId: true,
63
- title: true,
64
- description: true,
65
- ogImage: true,
66
- },
67
- })
68
- .execute();
68
+ const result = await client.siteMetadatum.findMany(findManyArgs).execute();
69
69
  console.log(JSON.stringify(result, null, 2));
70
70
  }
71
71
  catch (error) {
@@ -76,6 +76,29 @@ async function handleList(_argv, _prompter) {
76
76
  process.exit(1);
77
77
  }
78
78
  }
79
+ async function handleFindFirst(argv, _prompter) {
80
+ try {
81
+ const defaultSelect = {
82
+ id: true,
83
+ databaseId: true,
84
+ siteId: true,
85
+ title: true,
86
+ description: true,
87
+ ogImage: true,
88
+ };
89
+ const findFirstArgs = parseFindFirstArgs(argv, defaultSelect);
90
+ const client = getClient();
91
+ const result = await client.siteMetadatum.findFirst(findFirstArgs).execute();
92
+ console.log(JSON.stringify(result, null, 2));
93
+ }
94
+ catch (error) {
95
+ console.error('Failed to find record.');
96
+ if (error instanceof Error) {
97
+ console.error(error.message);
98
+ }
99
+ process.exit(1);
100
+ }
101
+ }
79
102
  async function handleGet(argv, prompter) {
80
103
  try {
81
104
  const answers = await prompter.prompt(argv, [
@@ -5,7 +5,7 @@
5
5
  */
6
6
  import { extractFirst } from 'inquirerer';
7
7
  import { getClient } from '../executor';
8
- import { coerceAnswers, stripUndefined } from '../utils';
8
+ import { coerceAnswers, parseFindFirstArgs, parseFindManyArgs, stripUndefined } from '../utils';
9
9
  const fieldSchema = {
10
10
  id: 'uuid',
11
11
  databaseId: 'uuid',
@@ -13,7 +13,7 @@ const fieldSchema = {
13
13
  name: 'string',
14
14
  data: 'json',
15
15
  };
16
- const usage = '\nsite-module <command>\n\nCommands:\n list List all siteModule records\n get Get a siteModule by ID\n create Create a new siteModule\n update Update an existing siteModule\n delete Delete a siteModule\n\n --help, -h Show this help message\n';
16
+ const usage = '\nsite-module <command>\n\nCommands:\n list List siteModule records\n find-first Find first matching siteModule record\n get Get a siteModule by ID\n create Create a new siteModule\n update Update an existing siteModule\n delete Delete a siteModule\n\nList Options:\n --limit <n> Max number of records to return (forward pagination)\n --last <n> Number of records from the end (backward pagination)\n --after <cursor> Cursor for forward pagination\n --before <cursor> Cursor for backward pagination\n --offset <n> Number of records to skip\n --select <fields> Comma-separated list of fields to return\n --where.<field>.<op> Filter (dot-notation, e.g. --where.name.equalTo foo)\n --condition.<f>.<op> Condition filter (dot-notation)\n --orderBy <values> Comma-separated ordering values (e.g. NAME_ASC,CREATED_AT_DESC)\n\nFind-First Options:\n --select <fields> Comma-separated list of fields to return\n --where.<field>.<op> Filter (dot-notation, e.g. --where.status.equalTo active)\n --condition.<f>.<op> Condition filter (dot-notation)\n\n --help, -h Show this help message\n';
17
17
  export default async (argv, prompter, _options) => {
18
18
  if (argv.help || argv.h) {
19
19
  console.log(usage);
@@ -26,7 +26,7 @@ export default async (argv, prompter, _options) => {
26
26
  type: 'autocomplete',
27
27
  name: 'subcommand',
28
28
  message: 'What do you want to do?',
29
- options: ['list', 'get', 'create', 'update', 'delete'],
29
+ options: ['list', 'find-first', 'get', 'create', 'update', 'delete'],
30
30
  },
31
31
  ]);
32
32
  return handleTableSubcommand(answer.subcommand, newArgv, prompter);
@@ -37,6 +37,8 @@ async function handleTableSubcommand(subcommand, argv, prompter) {
37
37
  switch (subcommand) {
38
38
  case 'list':
39
39
  return handleList(argv, prompter);
40
+ case 'find-first':
41
+ return handleFindFirst(argv, prompter);
40
42
  case 'get':
41
43
  return handleGet(argv, prompter);
42
44
  case 'create':
@@ -50,20 +52,18 @@ async function handleTableSubcommand(subcommand, argv, prompter) {
50
52
  process.exit(1);
51
53
  }
52
54
  }
53
- async function handleList(_argv, _prompter) {
55
+ async function handleList(argv, _prompter) {
54
56
  try {
57
+ const defaultSelect = {
58
+ id: true,
59
+ databaseId: true,
60
+ siteId: true,
61
+ name: true,
62
+ data: true,
63
+ };
64
+ const findManyArgs = parseFindManyArgs(argv, defaultSelect);
55
65
  const client = getClient();
56
- const result = await client.siteModule
57
- .findMany({
58
- select: {
59
- id: true,
60
- databaseId: true,
61
- siteId: true,
62
- name: true,
63
- data: true,
64
- },
65
- })
66
- .execute();
66
+ const result = await client.siteModule.findMany(findManyArgs).execute();
67
67
  console.log(JSON.stringify(result, null, 2));
68
68
  }
69
69
  catch (error) {
@@ -74,6 +74,28 @@ async function handleList(_argv, _prompter) {
74
74
  process.exit(1);
75
75
  }
76
76
  }
77
+ async function handleFindFirst(argv, _prompter) {
78
+ try {
79
+ const defaultSelect = {
80
+ id: true,
81
+ databaseId: true,
82
+ siteId: true,
83
+ name: true,
84
+ data: true,
85
+ };
86
+ const findFirstArgs = parseFindFirstArgs(argv, defaultSelect);
87
+ const client = getClient();
88
+ const result = await client.siteModule.findFirst(findFirstArgs).execute();
89
+ console.log(JSON.stringify(result, null, 2));
90
+ }
91
+ catch (error) {
92
+ console.error('Failed to find record.');
93
+ if (error instanceof Error) {
94
+ console.error(error.message);
95
+ }
96
+ process.exit(1);
97
+ }
98
+ }
77
99
  async function handleGet(argv, prompter) {
78
100
  try {
79
101
  const answers = await prompter.prompt(argv, [