@flowcore/sdk 1.50.0 → 1.51.0

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 (206) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/esm/commands/iam/permissions/get-user-permissions.d.ts +48 -0
  3. package/esm/commands/iam/permissions/get-user-permissions.d.ts.map +1 -0
  4. package/esm/commands/iam/permissions/get-user-permissions.js +44 -0
  5. package/esm/commands/iam/policies/create-policy.d.ts +89 -0
  6. package/esm/commands/iam/policies/create-policy.d.ts.map +1 -0
  7. package/esm/commands/iam/policies/create-policy.js +68 -0
  8. package/esm/commands/iam/policies/get-policy.d.ts +35 -0
  9. package/esm/commands/iam/policies/get-policy.d.ts.map +1 -0
  10. package/esm/commands/iam/policies/get-policy.js +36 -0
  11. package/esm/commands/iam/policies/id/archive-policy.d.ts +45 -0
  12. package/esm/commands/iam/policies/id/archive-policy.d.ts.map +1 -0
  13. package/esm/commands/iam/policies/id/archive-policy.js +41 -0
  14. package/esm/commands/iam/policies/id/get-policy.d.ts +45 -0
  15. package/esm/commands/iam/policies/id/get-policy.d.ts.map +1 -0
  16. package/esm/commands/iam/policies/id/get-policy.js +39 -0
  17. package/esm/commands/iam/policies/id/update-policy.d.ts +53 -0
  18. package/esm/commands/iam/policies/id/update-policy.d.ts.map +1 -0
  19. package/esm/commands/iam/policies/id/update-policy.js +45 -0
  20. package/esm/commands/iam/policy-associations/get-key-policies.d.ts +35 -0
  21. package/esm/commands/iam/policy-associations/get-key-policies.d.ts.map +1 -0
  22. package/esm/commands/iam/policy-associations/get-key-policies.js +76 -0
  23. package/esm/commands/iam/policy-associations/get-organization-policies.d.ts +35 -0
  24. package/esm/commands/iam/policy-associations/get-organization-policies.d.ts.map +1 -0
  25. package/esm/commands/iam/policy-associations/get-organization-policies.js +79 -0
  26. package/esm/commands/iam/policy-associations/get-policy-associations.d.ts +83 -0
  27. package/esm/commands/iam/policy-associations/get-policy-associations.d.ts.map +1 -0
  28. package/esm/commands/iam/policy-associations/get-policy-associations.js +108 -0
  29. package/esm/commands/iam/policy-associations/get-role-policies.d.ts +35 -0
  30. package/esm/commands/iam/policy-associations/get-role-policies.d.ts.map +1 -0
  31. package/esm/commands/iam/policy-associations/get-role-policies.js +64 -0
  32. package/esm/commands/iam/policy-associations/get-user-policies.d.ts +37 -0
  33. package/esm/commands/iam/policy-associations/get-user-policies.d.ts.map +1 -0
  34. package/esm/commands/iam/policy-associations/get-user-policies.js +36 -0
  35. package/esm/commands/iam/policy-associations/link-key-policy.d.ts +53 -0
  36. package/esm/commands/iam/policy-associations/link-key-policy.d.ts.map +1 -0
  37. package/esm/commands/iam/policy-associations/link-key-policy.js +51 -0
  38. package/esm/commands/iam/policy-associations/link-role-policy.d.ts +53 -0
  39. package/esm/commands/iam/policy-associations/link-role-policy.d.ts.map +1 -0
  40. package/esm/commands/iam/policy-associations/link-role-policy.js +51 -0
  41. package/esm/commands/iam/policy-associations/link-user-policy.d.ts +53 -0
  42. package/esm/commands/iam/policy-associations/link-user-policy.d.ts.map +1 -0
  43. package/esm/commands/iam/policy-associations/link-user-policy.js +51 -0
  44. package/esm/commands/iam/policy-associations/unlink-key-policy.d.ts +41 -0
  45. package/esm/commands/iam/policy-associations/unlink-key-policy.d.ts.map +1 -0
  46. package/esm/commands/iam/policy-associations/unlink-key-policy.js +43 -0
  47. package/esm/commands/iam/policy-associations/unlink-role-policy.d.ts +41 -0
  48. package/esm/commands/iam/policy-associations/unlink-role-policy.d.ts.map +1 -0
  49. package/esm/commands/iam/policy-associations/unlink-role-policy.js +43 -0
  50. package/esm/commands/iam/policy-associations/unlink-user-policy.d.ts +41 -0
  51. package/esm/commands/iam/policy-associations/unlink-user-policy.d.ts.map +1 -0
  52. package/esm/commands/iam/policy-associations/unlink-user-policy.js +43 -0
  53. package/esm/commands/iam/role-associations/get-key-roles.d.ts +35 -0
  54. package/esm/commands/iam/role-associations/get-key-roles.d.ts.map +1 -0
  55. package/esm/commands/iam/role-associations/get-key-roles.js +36 -0
  56. package/esm/commands/iam/role-associations/get-organization-roles.d.ts +35 -0
  57. package/esm/commands/iam/role-associations/get-organization-roles.d.ts.map +1 -0
  58. package/esm/commands/iam/role-associations/get-organization-roles.js +53 -0
  59. package/esm/commands/iam/role-associations/get-role-associations.d.ts +70 -0
  60. package/esm/commands/iam/role-associations/get-role-associations.d.ts.map +1 -0
  61. package/esm/commands/iam/role-associations/get-role-associations.js +58 -0
  62. package/esm/commands/iam/role-associations/get-user-roles.d.ts +37 -0
  63. package/esm/commands/iam/role-associations/get-user-roles.d.ts.map +1 -0
  64. package/esm/commands/iam/role-associations/get-user-roles.js +41 -0
  65. package/esm/commands/iam/role-associations/link-key-role.d.ts +53 -0
  66. package/esm/commands/iam/role-associations/link-key-role.d.ts.map +1 -0
  67. package/esm/commands/iam/role-associations/link-key-role.js +51 -0
  68. package/esm/commands/iam/role-associations/link-user-role.d.ts +53 -0
  69. package/esm/commands/iam/role-associations/link-user-role.d.ts.map +1 -0
  70. package/esm/commands/iam/role-associations/link-user-role.js +51 -0
  71. package/esm/commands/iam/role-associations/unlink-key-role.d.ts +41 -0
  72. package/esm/commands/iam/role-associations/unlink-key-role.d.ts.map +1 -0
  73. package/esm/commands/iam/role-associations/unlink-key-role.js +43 -0
  74. package/esm/commands/iam/role-associations/unlink-user-role.d.ts +41 -0
  75. package/esm/commands/iam/role-associations/unlink-user-role.d.ts.map +1 -0
  76. package/esm/commands/iam/role-associations/unlink-user-role.js +43 -0
  77. package/esm/commands/iam/roles/create-role.d.ts +60 -0
  78. package/esm/commands/iam/roles/create-role.d.ts.map +1 -0
  79. package/esm/commands/iam/roles/create-role.js +55 -0
  80. package/esm/commands/iam/roles/get-roles.d.ts +35 -0
  81. package/esm/commands/iam/roles/get-roles.d.ts.map +1 -0
  82. package/esm/commands/iam/roles/get-roles.js +36 -0
  83. package/esm/commands/iam/roles/id/archive-role.d.ts +45 -0
  84. package/esm/commands/iam/roles/id/archive-role.d.ts.map +1 -0
  85. package/esm/commands/iam/roles/id/archive-role.js +41 -0
  86. package/esm/commands/iam/roles/id/get-role.d.ts +35 -0
  87. package/esm/commands/iam/roles/id/get-role.d.ts.map +1 -0
  88. package/esm/commands/iam/roles/id/get-role.js +35 -0
  89. package/esm/commands/iam/roles/id/update-role.d.ts +47 -0
  90. package/esm/commands/iam/roles/id/update-role.d.ts.map +1 -0
  91. package/esm/commands/iam/roles/id/update-role.js +46 -0
  92. package/esm/commands/iam/tenant-iam-audit/get-audit-for-tenant.d.ts +88 -0
  93. package/esm/commands/iam/tenant-iam-audit/get-audit-for-tenant.d.ts.map +1 -0
  94. package/esm/commands/iam/tenant-iam-audit/get-audit-for-tenant.js +101 -0
  95. package/esm/commands/iam/validate/validate-key.d.ts +43 -0
  96. package/esm/commands/iam/validate/validate-key.d.ts.map +1 -0
  97. package/esm/commands/iam/validate/validate-key.js +42 -0
  98. package/esm/commands/iam/validate/validate-user.d.ts +77 -0
  99. package/esm/commands/iam/validate/validate-user.d.ts.map +1 -0
  100. package/esm/commands/iam/validate/validate-user.js +57 -0
  101. package/esm/commands/index.d.ts +33 -0
  102. package/esm/commands/index.d.ts.map +1 -1
  103. package/esm/commands/index.js +34 -0
  104. package/package.json +1 -1
  105. package/script/commands/iam/permissions/get-user-permissions.d.ts +48 -0
  106. package/script/commands/iam/permissions/get-user-permissions.d.ts.map +1 -0
  107. package/script/commands/iam/permissions/get-user-permissions.js +48 -0
  108. package/script/commands/iam/policies/create-policy.d.ts +89 -0
  109. package/script/commands/iam/policies/create-policy.d.ts.map +1 -0
  110. package/script/commands/iam/policies/create-policy.js +72 -0
  111. package/script/commands/iam/policies/get-policy.d.ts +35 -0
  112. package/script/commands/iam/policies/get-policy.d.ts.map +1 -0
  113. package/script/commands/iam/policies/get-policy.js +40 -0
  114. package/script/commands/iam/policies/id/archive-policy.d.ts +45 -0
  115. package/script/commands/iam/policies/id/archive-policy.d.ts.map +1 -0
  116. package/script/commands/iam/policies/id/archive-policy.js +45 -0
  117. package/script/commands/iam/policies/id/get-policy.d.ts +45 -0
  118. package/script/commands/iam/policies/id/get-policy.d.ts.map +1 -0
  119. package/script/commands/iam/policies/id/get-policy.js +43 -0
  120. package/script/commands/iam/policies/id/update-policy.d.ts +53 -0
  121. package/script/commands/iam/policies/id/update-policy.d.ts.map +1 -0
  122. package/script/commands/iam/policies/id/update-policy.js +49 -0
  123. package/script/commands/iam/policy-associations/get-key-policies.d.ts +35 -0
  124. package/script/commands/iam/policy-associations/get-key-policies.d.ts.map +1 -0
  125. package/script/commands/iam/policy-associations/get-key-policies.js +80 -0
  126. package/script/commands/iam/policy-associations/get-organization-policies.d.ts +35 -0
  127. package/script/commands/iam/policy-associations/get-organization-policies.d.ts.map +1 -0
  128. package/script/commands/iam/policy-associations/get-organization-policies.js +83 -0
  129. package/script/commands/iam/policy-associations/get-policy-associations.d.ts +83 -0
  130. package/script/commands/iam/policy-associations/get-policy-associations.d.ts.map +1 -0
  131. package/script/commands/iam/policy-associations/get-policy-associations.js +112 -0
  132. package/script/commands/iam/policy-associations/get-role-policies.d.ts +35 -0
  133. package/script/commands/iam/policy-associations/get-role-policies.d.ts.map +1 -0
  134. package/script/commands/iam/policy-associations/get-role-policies.js +68 -0
  135. package/script/commands/iam/policy-associations/get-user-policies.d.ts +37 -0
  136. package/script/commands/iam/policy-associations/get-user-policies.d.ts.map +1 -0
  137. package/script/commands/iam/policy-associations/get-user-policies.js +40 -0
  138. package/script/commands/iam/policy-associations/link-key-policy.d.ts +53 -0
  139. package/script/commands/iam/policy-associations/link-key-policy.d.ts.map +1 -0
  140. package/script/commands/iam/policy-associations/link-key-policy.js +55 -0
  141. package/script/commands/iam/policy-associations/link-role-policy.d.ts +53 -0
  142. package/script/commands/iam/policy-associations/link-role-policy.d.ts.map +1 -0
  143. package/script/commands/iam/policy-associations/link-role-policy.js +55 -0
  144. package/script/commands/iam/policy-associations/link-user-policy.d.ts +53 -0
  145. package/script/commands/iam/policy-associations/link-user-policy.d.ts.map +1 -0
  146. package/script/commands/iam/policy-associations/link-user-policy.js +55 -0
  147. package/script/commands/iam/policy-associations/unlink-key-policy.d.ts +41 -0
  148. package/script/commands/iam/policy-associations/unlink-key-policy.d.ts.map +1 -0
  149. package/script/commands/iam/policy-associations/unlink-key-policy.js +47 -0
  150. package/script/commands/iam/policy-associations/unlink-role-policy.d.ts +41 -0
  151. package/script/commands/iam/policy-associations/unlink-role-policy.d.ts.map +1 -0
  152. package/script/commands/iam/policy-associations/unlink-role-policy.js +47 -0
  153. package/script/commands/iam/policy-associations/unlink-user-policy.d.ts +41 -0
  154. package/script/commands/iam/policy-associations/unlink-user-policy.d.ts.map +1 -0
  155. package/script/commands/iam/policy-associations/unlink-user-policy.js +47 -0
  156. package/script/commands/iam/role-associations/get-key-roles.d.ts +35 -0
  157. package/script/commands/iam/role-associations/get-key-roles.d.ts.map +1 -0
  158. package/script/commands/iam/role-associations/get-key-roles.js +40 -0
  159. package/script/commands/iam/role-associations/get-organization-roles.d.ts +35 -0
  160. package/script/commands/iam/role-associations/get-organization-roles.d.ts.map +1 -0
  161. package/script/commands/iam/role-associations/get-organization-roles.js +57 -0
  162. package/script/commands/iam/role-associations/get-role-associations.d.ts +70 -0
  163. package/script/commands/iam/role-associations/get-role-associations.d.ts.map +1 -0
  164. package/script/commands/iam/role-associations/get-role-associations.js +62 -0
  165. package/script/commands/iam/role-associations/get-user-roles.d.ts +37 -0
  166. package/script/commands/iam/role-associations/get-user-roles.d.ts.map +1 -0
  167. package/script/commands/iam/role-associations/get-user-roles.js +45 -0
  168. package/script/commands/iam/role-associations/link-key-role.d.ts +53 -0
  169. package/script/commands/iam/role-associations/link-key-role.d.ts.map +1 -0
  170. package/script/commands/iam/role-associations/link-key-role.js +55 -0
  171. package/script/commands/iam/role-associations/link-user-role.d.ts +53 -0
  172. package/script/commands/iam/role-associations/link-user-role.d.ts.map +1 -0
  173. package/script/commands/iam/role-associations/link-user-role.js +55 -0
  174. package/script/commands/iam/role-associations/unlink-key-role.d.ts +41 -0
  175. package/script/commands/iam/role-associations/unlink-key-role.d.ts.map +1 -0
  176. package/script/commands/iam/role-associations/unlink-key-role.js +47 -0
  177. package/script/commands/iam/role-associations/unlink-user-role.d.ts +41 -0
  178. package/script/commands/iam/role-associations/unlink-user-role.d.ts.map +1 -0
  179. package/script/commands/iam/role-associations/unlink-user-role.js +47 -0
  180. package/script/commands/iam/roles/create-role.d.ts +60 -0
  181. package/script/commands/iam/roles/create-role.d.ts.map +1 -0
  182. package/script/commands/iam/roles/create-role.js +59 -0
  183. package/script/commands/iam/roles/get-roles.d.ts +35 -0
  184. package/script/commands/iam/roles/get-roles.d.ts.map +1 -0
  185. package/script/commands/iam/roles/get-roles.js +40 -0
  186. package/script/commands/iam/roles/id/archive-role.d.ts +45 -0
  187. package/script/commands/iam/roles/id/archive-role.d.ts.map +1 -0
  188. package/script/commands/iam/roles/id/archive-role.js +45 -0
  189. package/script/commands/iam/roles/id/get-role.d.ts +35 -0
  190. package/script/commands/iam/roles/id/get-role.d.ts.map +1 -0
  191. package/script/commands/iam/roles/id/get-role.js +39 -0
  192. package/script/commands/iam/roles/id/update-role.d.ts +47 -0
  193. package/script/commands/iam/roles/id/update-role.d.ts.map +1 -0
  194. package/script/commands/iam/roles/id/update-role.js +50 -0
  195. package/script/commands/iam/tenant-iam-audit/get-audit-for-tenant.d.ts +88 -0
  196. package/script/commands/iam/tenant-iam-audit/get-audit-for-tenant.d.ts.map +1 -0
  197. package/script/commands/iam/tenant-iam-audit/get-audit-for-tenant.js +105 -0
  198. package/script/commands/iam/validate/validate-key.d.ts +43 -0
  199. package/script/commands/iam/validate/validate-key.d.ts.map +1 -0
  200. package/script/commands/iam/validate/validate-key.js +46 -0
  201. package/script/commands/iam/validate/validate-user.d.ts +77 -0
  202. package/script/commands/iam/validate/validate-user.d.ts.map +1 -0
  203. package/script/commands/iam/validate/validate-user.js +61 -0
  204. package/script/commands/index.d.ts +33 -0
  205. package/script/commands/index.d.ts.map +1 -1
  206. package/script/commands/index.js +34 -0
@@ -0,0 +1,77 @@
1
+ import { Command } from "@flowcore/sdk";
2
+ import { type Static, type TArray, type TBoolean, type TObject, type TString } from "@sinclair/typebox";
3
+ /**
4
+ * The mode of validation
5
+ */
6
+ export type ValidationMode = "tenant" | "organization";
7
+ /**
8
+ * The validation request access item
9
+ */
10
+ export interface ValidationRequestAccessItem {
11
+ action: string;
12
+ resource: string[];
13
+ }
14
+ /**
15
+ * The schema for a valid policy
16
+ */
17
+ export declare const ValidPolicySchema: TObject<{
18
+ policyFrn: TString;
19
+ statementId: TString;
20
+ }>;
21
+ /**
22
+ * The schema for a validation response
23
+ */
24
+ export declare const ValidationResponseSchema: TObject<{
25
+ valid: TBoolean;
26
+ checksum: TString;
27
+ validPolicies: TArray<typeof ValidPolicySchema>;
28
+ }>;
29
+ /**
30
+ * The valid policy type
31
+ */
32
+ export type ValidPolicy = Static<typeof ValidPolicySchema>;
33
+ /**
34
+ * The validation response type
35
+ */
36
+ export type ValidationResponse = Static<typeof ValidationResponseSchema>;
37
+ /**
38
+ * The input for the user validation command
39
+ */
40
+ export interface ValidateUserInput {
41
+ /** The user id */
42
+ userId: string;
43
+ /** The mode of validation */
44
+ mode: ValidationMode;
45
+ /** The requested access */
46
+ requestedAccess: ValidationRequestAccessItem[];
47
+ }
48
+ /**
49
+ * Validate if a user can perform actions
50
+ */
51
+ export declare class ValidateUserCommand extends Command<ValidateUserInput, ValidationResponse> {
52
+ /**
53
+ * Whether the command should retry on failure
54
+ */
55
+ protected retryOnFailure: boolean;
56
+ /**
57
+ * Get the method
58
+ */
59
+ protected getMethod(): string;
60
+ /**
61
+ * Get the base url
62
+ */
63
+ protected getBaseUrl(): string;
64
+ /**
65
+ * Get the path
66
+ */
67
+ protected getPath(): string;
68
+ /**
69
+ * Get the body
70
+ */
71
+ protected getBody(): Record<string, unknown>;
72
+ /**
73
+ * Parse the response
74
+ */
75
+ protected parseResponse(rawResponse: unknown): ValidationResponse;
76
+ }
77
+ //# sourceMappingURL=validate-user.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate-user.d.ts","sourceRoot":"","sources":["../../../../src/commands/iam/validate/validate-user.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAuB,MAAM,eAAe,CAAA;AAC5D,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,MAAM,EAAE,KAAK,QAAQ,EAAE,KAAK,OAAO,EAAE,KAAK,OAAO,EAAQ,MAAM,mBAAmB,CAAA;AAE7G;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,cAAc,CAAA;AAEtD;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,EAAE,CAAA;CACnB;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,OAAO,CAAC;IACtC,SAAS,EAAE,OAAO,CAAA;IAClB,WAAW,EAAE,OAAO,CAAA;CACrB,CAGC,CAAA;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB,EAAE,OAAO,CAAC;IAC7C,KAAK,EAAE,QAAQ,CAAA;IACf,QAAQ,EAAE,OAAO,CAAA;IACjB,aAAa,EAAE,MAAM,CAAC,OAAO,iBAAiB,CAAC,CAAA;CAChD,CAIC,CAAA;AAEF;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAE1D;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAExE;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,kBAAkB;IAClB,MAAM,EAAE,MAAM,CAAA;IACd,6BAA6B;IAC7B,IAAI,EAAE,cAAc,CAAA;IACpB,2BAA2B;IAC3B,eAAe,EAAE,2BAA2B,EAAE,CAAA;CAC/C;AAED;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,OAAO,CAC9C,iBAAiB,EACjB,kBAAkB,CACnB;IACC;;OAEG;IACH,UAAmB,cAAc,UAAO;IAExC;;OAEG;cACgB,SAAS,IAAI,MAAM;IAItC;;OAEG;cACgB,UAAU,IAAI,MAAM;IAIvC;;OAEG;cACgB,OAAO,IAAI,MAAM;IAIpC;;OAEG;cACgB,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAKrD;;OAEG;cACgB,aAAa,CAAC,WAAW,EAAE,OAAO,GAAG,kBAAkB;CAG3E"}
@@ -0,0 +1,57 @@
1
+ import { Command, parseResponseHelper } from "@flowcore/sdk";
2
+ import { Type } from "@sinclair/typebox";
3
+ /**
4
+ * The schema for a valid policy
5
+ */
6
+ export const ValidPolicySchema = Type.Object({
7
+ policyFrn: Type.String(),
8
+ statementId: Type.String(),
9
+ });
10
+ /**
11
+ * The schema for a validation response
12
+ */
13
+ export const ValidationResponseSchema = Type.Object({
14
+ valid: Type.Boolean(),
15
+ checksum: Type.String(),
16
+ validPolicies: Type.Array(ValidPolicySchema),
17
+ });
18
+ /**
19
+ * Validate if a user can perform actions
20
+ */
21
+ export class ValidateUserCommand extends Command {
22
+ /**
23
+ * Whether the command should retry on failure
24
+ */
25
+ retryOnFailure = true;
26
+ /**
27
+ * Get the method
28
+ */
29
+ getMethod() {
30
+ return "POST";
31
+ }
32
+ /**
33
+ * Get the base url
34
+ */
35
+ getBaseUrl() {
36
+ return "https://iam.api.flowcore.io";
37
+ }
38
+ /**
39
+ * Get the path
40
+ */
41
+ getPath() {
42
+ return `/api/v1/validate/users/${this.input.userId}`;
43
+ }
44
+ /**
45
+ * Get the body
46
+ */
47
+ getBody() {
48
+ const { ...rest } = this.input;
49
+ return rest;
50
+ }
51
+ /**
52
+ * Parse the response
53
+ */
54
+ parseResponse(rawResponse) {
55
+ return parseResponseHelper(ValidationResponseSchema, rawResponse);
56
+ }
57
+ }
@@ -57,4 +57,37 @@ export * from "./scenario/scenario.delete.js";
57
57
  export * from "./scenario/scenario.fetch.js";
58
58
  export * from "./scenario/scenario.list.js";
59
59
  export * from "./scenario/scenario.update.js";
60
+ export * from "./iam/permissions/get-user-permissions.js";
61
+ export * from "./iam/policies/create-policy.js";
62
+ export * from "./iam/policies/get-policy.js";
63
+ export * from "./iam/policies/id/archive-policy.js";
64
+ export * from "./iam/policies/id/get-policy.js";
65
+ export * from "./iam/policies/id/update-policy.js";
66
+ export * from "./iam/policy-associations/get-key-policies.js";
67
+ export * from "./iam/policy-associations/get-organization-policies.js";
68
+ export * from "./iam/policy-associations/get-policy-associations.js";
69
+ export * from "./iam/policy-associations/get-role-policies.js";
70
+ export * from "./iam/policy-associations/get-user-policies.js";
71
+ export * from "./iam/policy-associations/link-key-policy.js";
72
+ export * from "./iam/policy-associations/link-role-policy.js";
73
+ export * from "./iam/policy-associations/link-user-policy.js";
74
+ export * from "./iam/policy-associations/unlink-key-policy.js";
75
+ export * from "./iam/policy-associations/unlink-role-policy.js";
76
+ export * from "./iam/policy-associations/unlink-user-policy.js";
77
+ export * from "./iam/role-associations/get-key-roles.js";
78
+ export * from "./iam/role-associations/get-organization-roles.js";
79
+ export * from "./iam/role-associations/get-role-associations.js";
80
+ export * from "./iam/role-associations/get-user-roles.js";
81
+ export * from "./iam/role-associations/link-key-role.js";
82
+ export * from "./iam/role-associations/link-user-role.js";
83
+ export * from "./iam/role-associations/unlink-key-role.js";
84
+ export * from "./iam/role-associations/unlink-user-role.js";
85
+ export * from "./iam/roles/create-role.js";
86
+ export * from "./iam/roles/get-roles.js";
87
+ export * from "./iam/roles/id/archive-role.js";
88
+ export * from "./iam/roles/id/get-role.js";
89
+ export * from "./iam/roles/id/update-role.js";
90
+ export * from "./iam/tenant-iam-audit/get-audit-for-tenant.js";
91
+ export * from "./iam/validate/validate-key.js";
92
+ export * from "./iam/validate/validate-user.js";
60
93
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AACA,cAAc,2CAA2C,CAAA;AACzD,cAAc,0CAA0C,CAAA;AACxD,cAAc,0BAA0B,CAAA;AACxC,cAAc,yBAAyB,CAAA;AACvC,cAAc,yCAAyC,CAAA;AAGvD,cAAc,4BAA4B,CAAA;AAG1C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,2BAA2B,CAAA;AAGzC,cAAc,2BAA2B,CAAA;AACzC,cAAc,2BAA2B,CAAA;AACzC,cAAc,yBAAyB,CAAA;AAGvC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,6BAA6B,CAAA;AAG3C,cAAc,iCAAiC,CAAA;AAC/C,cAAc,iCAAiC,CAAA;AAC/C,cAAc,gCAAgC,CAAA;AAC9C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,yCAAyC,CAAA;AACvD,cAAc,iCAAiC,CAAA;AAG/C,cAAc,iCAAiC,CAAA;AAC/C,cAAc,iCAAiC,CAAA;AAC/C,cAAc,gCAAgC,CAAA;AAC9C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,yCAAyC,CAAA;AACvD,cAAc,iCAAiC,CAAA;AAG/C,cAAc,mCAAmC,CAAA;AACjD,cAAc,mCAAmC,CAAA;AACjD,cAAc,kCAAkC,CAAA;AAChD,cAAc,iCAAiC,CAAA;AAC/C,cAAc,wDAAwD,CAAA;AACtE,cAAc,iCAAiC,CAAA;AAC/C,cAAc,kDAAkD,CAAA;AAChE,cAAc,2CAA2C,CAAA;AACzD,cAAc,6CAA6C,CAAA;AAC3D,cAAc,mCAAmC,CAAA;AAGjD,cAAc,6BAA6B,CAAA;AAC3C,cAAc,6BAA6B,CAAA;AAG3C,cAAc,wBAAwB,CAAA;AACtC,cAAc,gDAAgD,CAAA;AAC9D,cAAc,0BAA0B,CAAA;AACxC,cAAc,8BAA8B,CAAA;AAG5C,cAAc,mDAAmD,CAAA;AACjE,cAAc,mDAAmD,CAAA;AACjE,cAAc,kDAAkD,CAAA;AAChE,cAAc,iDAAiD,CAAA;AAC/D,cAAc,mDAAmD,CAAA;AAGjE,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA;AACxC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,uBAAuB,CAAA;AACrC,cAAc,wBAAwB,CAAA;AACtC,cAAc,gCAAgC,CAAA;AAG9C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,8BAA8B,CAAA;AAC5C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,+BAA+B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"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"}
@@ -70,3 +70,37 @@ export * from "./scenario/scenario.delete.js";
70
70
  export * from "./scenario/scenario.fetch.js";
71
71
  export * from "./scenario/scenario.list.js";
72
72
  export * from "./scenario/scenario.update.js";
73
+ // Identity and Access Management
74
+ export * from "./iam/permissions/get-user-permissions.js";
75
+ export * from "./iam/policies/create-policy.js";
76
+ export * from "./iam/policies/get-policy.js";
77
+ export * from "./iam/policies/id/archive-policy.js";
78
+ export * from "./iam/policies/id/get-policy.js";
79
+ export * from "./iam/policies/id/update-policy.js";
80
+ export * from "./iam/policy-associations/get-key-policies.js";
81
+ export * from "./iam/policy-associations/get-organization-policies.js";
82
+ export * from "./iam/policy-associations/get-policy-associations.js";
83
+ export * from "./iam/policy-associations/get-role-policies.js";
84
+ export * from "./iam/policy-associations/get-user-policies.js";
85
+ export * from "./iam/policy-associations/link-key-policy.js";
86
+ export * from "./iam/policy-associations/link-role-policy.js";
87
+ export * from "./iam/policy-associations/link-user-policy.js";
88
+ export * from "./iam/policy-associations/unlink-key-policy.js";
89
+ export * from "./iam/policy-associations/unlink-role-policy.js";
90
+ export * from "./iam/policy-associations/unlink-user-policy.js";
91
+ export * from "./iam/role-associations/get-key-roles.js";
92
+ export * from "./iam/role-associations/get-organization-roles.js";
93
+ export * from "./iam/role-associations/get-role-associations.js";
94
+ export * from "./iam/role-associations/get-user-roles.js";
95
+ export * from "./iam/role-associations/link-key-role.js";
96
+ export * from "./iam/role-associations/link-user-role.js";
97
+ export * from "./iam/role-associations/unlink-key-role.js";
98
+ export * from "./iam/role-associations/unlink-user-role.js";
99
+ export * from "./iam/roles/create-role.js";
100
+ export * from "./iam/roles/get-roles.js";
101
+ export * from "./iam/roles/id/archive-role.js";
102
+ export * from "./iam/roles/id/get-role.js";
103
+ export * from "./iam/roles/id/update-role.js";
104
+ export * from "./iam/tenant-iam-audit/get-audit-for-tenant.js";
105
+ export * from "./iam/validate/validate-key.js";
106
+ export * from "./iam/validate/validate-user.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flowcore/sdk",
3
- "version": "1.50.0",
3
+ "version": "1.51.0",
4
4
  "description": "Flowcore SDK",
5
5
  "homepage": "https://github.com/flowcore-io/flowcore-sdk#readme",
6
6
  "repository": {
@@ -0,0 +1,48 @@
1
+ import { Command } from "@flowcore/sdk";
2
+ import { type Static, type TArray, type TObject, type TString } from "@sinclair/typebox";
3
+ /**
4
+ * The schema for a permission
5
+ */
6
+ export declare const UserPermissionSchema: TObject<{
7
+ tenant: TString;
8
+ type: TString;
9
+ id: TString;
10
+ action: TArray<TString>;
11
+ }>;
12
+ /**
13
+ * The permission type
14
+ */
15
+ export type UserPermission = Static<typeof UserPermissionSchema>;
16
+ /**
17
+ * The input for the user permissions command
18
+ */
19
+ export interface UserPermissionsInput {
20
+ /** The optional permission type */
21
+ type?: string;
22
+ }
23
+ /**
24
+ * Get all permissions for the current user
25
+ */
26
+ export declare class UserPermissionsCommand extends Command<UserPermissionsInput, UserPermission[]> {
27
+ /**
28
+ * Whether the command should retry on failure
29
+ */
30
+ protected retryOnFailure: boolean;
31
+ /**
32
+ * Get the method
33
+ */
34
+ protected getMethod(): string;
35
+ /**
36
+ * Get the base url
37
+ */
38
+ protected getBaseUrl(): string;
39
+ /**
40
+ * Get the path
41
+ */
42
+ protected getPath(): string;
43
+ /**
44
+ * Parse the response
45
+ */
46
+ protected parseResponse(rawResponse: unknown): UserPermission[];
47
+ }
48
+ //# sourceMappingURL=get-user-permissions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-user-permissions.d.ts","sourceRoot":"","sources":["../../../../src/commands/iam/permissions/get-user-permissions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAuB,MAAM,eAAe,CAAA;AAC5D,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,MAAM,EAAE,KAAK,OAAO,EAAE,KAAK,OAAO,EAAQ,MAAM,mBAAmB,CAAA;AAE9F;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,OAAO,CAAC;IACzC,MAAM,EAAE,OAAO,CAAA;IACf,IAAI,EAAE,OAAO,CAAA;IACb,EAAE,EAAE,OAAO,CAAA;IACX,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;CACxB,CAKC,CAAA;AAEF;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAEhE;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,mCAAmC;IACnC,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,OAAO,CACjD,oBAAoB,EACpB,cAAc,EAAE,CACjB;IACC;;OAEG;IACH,UAAmB,cAAc,UAAO;IAExC;;OAEG;cACgB,SAAS,IAAI,MAAM;IAItC;;OAEG;cACgB,UAAU,IAAI,MAAM;IAIvC;;OAEG;cACgB,OAAO,IAAI,MAAM;IAIpC;;OAEG;cACgB,aAAa,CAAC,WAAW,EAAE,OAAO,GAAG,cAAc,EAAE;CAGzE"}
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UserPermissionsCommand = exports.UserPermissionSchema = void 0;
4
+ const sdk_1 = require("@flowcore/sdk");
5
+ const typebox_1 = require("@sinclair/typebox");
6
+ /**
7
+ * The schema for a permission
8
+ */
9
+ exports.UserPermissionSchema = typebox_1.Type.Object({
10
+ tenant: typebox_1.Type.String(),
11
+ type: typebox_1.Type.String(),
12
+ id: typebox_1.Type.String(),
13
+ action: typebox_1.Type.Array(typebox_1.Type.String()),
14
+ });
15
+ /**
16
+ * Get all permissions for the current user
17
+ */
18
+ class UserPermissionsCommand extends sdk_1.Command {
19
+ /**
20
+ * Whether the command should retry on failure
21
+ */
22
+ retryOnFailure = true;
23
+ /**
24
+ * Get the method
25
+ */
26
+ getMethod() {
27
+ return "GET";
28
+ }
29
+ /**
30
+ * Get the base url
31
+ */
32
+ getBaseUrl() {
33
+ return "https://iam.api.flowcore.io";
34
+ }
35
+ /**
36
+ * Get the path
37
+ */
38
+ getPath() {
39
+ return "/api/v1/permissions/";
40
+ }
41
+ /**
42
+ * Parse the response
43
+ */
44
+ parseResponse(rawResponse) {
45
+ return (0, sdk_1.parseResponseHelper)(typebox_1.Type.Array(exports.UserPermissionSchema), rawResponse);
46
+ }
47
+ }
48
+ exports.UserPermissionsCommand = UserPermissionsCommand;
@@ -0,0 +1,89 @@
1
+ import { Command } from "@flowcore/sdk";
2
+ import { type Static, type TArray, type TBoolean, type TObject, type TOptional, type TString, type TUnion } from "@sinclair/typebox";
3
+ /**
4
+ * The schema for a policy statement document
5
+ */
6
+ export declare const PolicyStatementSchema: TObject<{
7
+ statementId: TOptional<TString>;
8
+ resource: TString;
9
+ action: TUnion<[TString, TArray<TString>]>;
10
+ }>;
11
+ /**
12
+ * The schema for a policy
13
+ */
14
+ export declare const PolicySchema: TObject<{
15
+ id: TString;
16
+ organizationId: TString;
17
+ name: TString;
18
+ version: TString;
19
+ policyDocuments: TArray<typeof PolicyStatementSchema>;
20
+ description: TOptional<TString>;
21
+ principal: TOptional<TString>;
22
+ flowcoreManaged: TBoolean;
23
+ archived: TOptional<TBoolean>;
24
+ frn: TString;
25
+ }>;
26
+ /**
27
+ * The Policy type
28
+ */
29
+ export type Policy = Static<typeof PolicySchema>;
30
+ /**
31
+ * The Policy Statement type
32
+ */
33
+ export type PolicyStatement = Static<typeof PolicyStatementSchema>;
34
+ /**
35
+ * The input for the policy create command
36
+ */
37
+ export interface PolicyCreateInput {
38
+ /** The organization id */
39
+ organizationId: string;
40
+ /** The name of the policy */
41
+ name: string;
42
+ /** The version of the policy */
43
+ version: string;
44
+ /** The policy documents */
45
+ policyDocuments: Array<{
46
+ /** The optional statement id */
47
+ statementId?: string;
48
+ /** The resource for this statement */
49
+ resource: string;
50
+ /** The actions for this statement */
51
+ action: string | string[];
52
+ }>;
53
+ /** The description of the policy */
54
+ description?: string;
55
+ /** The principal role that can access the resource */
56
+ principal?: string;
57
+ /** Whether the policy is managed by Flowcore */
58
+ flowcoreManaged?: boolean;
59
+ }
60
+ /**
61
+ * Create a policy
62
+ */
63
+ export declare class PolicyCreateCommand extends Command<PolicyCreateInput, Policy> {
64
+ /**
65
+ * Whether the command should retry on failure
66
+ */
67
+ protected retryOnFailure: boolean;
68
+ /**
69
+ * Get the method
70
+ */
71
+ protected getMethod(): string;
72
+ /**
73
+ * Get the base url
74
+ */
75
+ protected getBaseUrl(): string;
76
+ /**
77
+ * Get the path
78
+ */
79
+ protected getPath(): string;
80
+ /**
81
+ * Get the body
82
+ */
83
+ protected getBody(): Record<string, unknown>;
84
+ /**
85
+ * Parse the response
86
+ */
87
+ protected parseResponse(rawResponse: unknown): Policy;
88
+ }
89
+ //# sourceMappingURL=create-policy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-policy.d.ts","sourceRoot":"","sources":["../../../../src/commands/iam/policies/create-policy.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAuB,MAAM,eAAe,CAAA;AAC5D,OAAO,EACL,KAAK,MAAM,EACX,KAAK,MAAM,EACX,KAAK,QAAQ,EACb,KAAK,OAAO,EACZ,KAAK,SAAS,EACd,KAAK,OAAO,EACZ,KAAK,MAAM,EAEZ,MAAM,mBAAmB,CAAA;AAE1B;;GAEG;AACH,eAAO,MAAM,qBAAqB,EAAE,OAAO,CAAC;IAC1C,WAAW,EAAE,SAAS,CAAC,OAAO,CAAC,CAAA;IAC/B,QAAQ,EAAE,OAAO,CAAA;IACjB,MAAM,EAAE,MAAM,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;CAC3C,CAIC,CAAA;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,OAAO,CAAC;IACjC,EAAE,EAAE,OAAO,CAAA;IACX,cAAc,EAAE,OAAO,CAAA;IACvB,IAAI,EAAE,OAAO,CAAA;IACb,OAAO,EAAE,OAAO,CAAA;IAChB,eAAe,EAAE,MAAM,CAAC,OAAO,qBAAqB,CAAC,CAAA;IACrD,WAAW,EAAE,SAAS,CAAC,OAAO,CAAC,CAAA;IAC/B,SAAS,EAAE,SAAS,CAAC,OAAO,CAAC,CAAA;IAC7B,eAAe,EAAE,QAAQ,CAAA;IACzB,QAAQ,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAA;IAC7B,GAAG,EAAE,OAAO,CAAA;CACb,CAWC,CAAA;AAEF;;GAEG;AACH,MAAM,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,YAAY,CAAC,CAAA;AAEhD;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAElE;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,0BAA0B;IAC1B,cAAc,EAAE,MAAM,CAAA;IACtB,6BAA6B;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,gCAAgC;IAChC,OAAO,EAAE,MAAM,CAAA;IACf,2BAA2B;IAC3B,eAAe,EAAE,KAAK,CAAC;QACrB,gCAAgC;QAChC,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,sCAAsC;QACtC,QAAQ,EAAE,MAAM,CAAA;QAChB,qCAAqC;QACrC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;KAC1B,CAAC,CAAA;IACF,oCAAoC;IACpC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,sDAAsD;IACtD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,gDAAgD;IAChD,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B;AAED;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,OAAO,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACzE;;OAEG;IACH,UAAmB,cAAc,UAAQ;IAEzC;;OAEG;cACgB,SAAS,IAAI,MAAM;IAItC;;OAEG;cACgB,UAAU,IAAI,MAAM;IAIvC;;OAEG;cACgB,OAAO,IAAI,MAAM;IAIpC;;OAEG;cACgB,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAOrD;;OAEG;cACgB,aAAa,CAAC,WAAW,EAAE,OAAO,GAAG,MAAM;CAG/D"}
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PolicyCreateCommand = exports.PolicySchema = exports.PolicyStatementSchema = void 0;
4
+ // src/contracts/policy.ts
5
+ const sdk_1 = require("@flowcore/sdk");
6
+ const typebox_1 = require("@sinclair/typebox");
7
+ /**
8
+ * The schema for a policy statement document
9
+ */
10
+ exports.PolicyStatementSchema = typebox_1.Type.Object({
11
+ statementId: typebox_1.Type.Optional(typebox_1.Type.String()),
12
+ resource: typebox_1.Type.String(),
13
+ action: typebox_1.Type.Union([typebox_1.Type.String(), typebox_1.Type.Array(typebox_1.Type.String())]),
14
+ });
15
+ /**
16
+ * The schema for a policy
17
+ */
18
+ exports.PolicySchema = typebox_1.Type.Object({
19
+ id: typebox_1.Type.String(),
20
+ organizationId: typebox_1.Type.String(),
21
+ name: typebox_1.Type.String(),
22
+ version: typebox_1.Type.String(),
23
+ policyDocuments: typebox_1.Type.Array(exports.PolicyStatementSchema),
24
+ description: typebox_1.Type.Optional(typebox_1.Type.String()),
25
+ principal: typebox_1.Type.Optional(typebox_1.Type.String()),
26
+ flowcoreManaged: typebox_1.Type.Boolean(),
27
+ archived: typebox_1.Type.Optional(typebox_1.Type.Boolean()),
28
+ frn: typebox_1.Type.String(),
29
+ });
30
+ /**
31
+ * Create a policy
32
+ */
33
+ class PolicyCreateCommand extends sdk_1.Command {
34
+ /**
35
+ * Whether the command should retry on failure
36
+ */
37
+ retryOnFailure = false;
38
+ /**
39
+ * Get the method
40
+ */
41
+ getMethod() {
42
+ return "POST";
43
+ }
44
+ /**
45
+ * Get the base url
46
+ */
47
+ getBaseUrl() {
48
+ return "https://iam.api.flowcore.io";
49
+ }
50
+ /**
51
+ * Get the path
52
+ */
53
+ getPath() {
54
+ return "/api/v1/policies/";
55
+ }
56
+ /**
57
+ * Get the body
58
+ */
59
+ getBody() {
60
+ return {
61
+ ...this.input,
62
+ flowcoreManaged: this.input.flowcoreManaged ?? false,
63
+ };
64
+ }
65
+ /**
66
+ * Parse the response
67
+ */
68
+ parseResponse(rawResponse) {
69
+ return (0, sdk_1.parseResponseHelper)(exports.PolicySchema, rawResponse);
70
+ }
71
+ }
72
+ exports.PolicyCreateCommand = PolicyCreateCommand;
@@ -0,0 +1,35 @@
1
+ import { Command } from "@flowcore/sdk";
2
+ import { type Policy } from "./create-policy.js";
3
+ /**
4
+ * The input for the policy list command
5
+ */
6
+ export interface PolicyListInput {
7
+ /** The organization id */
8
+ organizationId?: string;
9
+ }
10
+ /**
11
+ * List policies
12
+ */
13
+ export declare class PolicyListCommand extends Command<PolicyListInput, Policy[]> {
14
+ /**
15
+ * Whether the command should retry on failure
16
+ */
17
+ protected retryOnFailure: boolean;
18
+ /**
19
+ * Get the method
20
+ */
21
+ protected getMethod(): string;
22
+ /**
23
+ * Get the base url
24
+ */
25
+ protected getBaseUrl(): string;
26
+ /**
27
+ * Get the path
28
+ */
29
+ protected getPath(): string;
30
+ /**
31
+ * Parse the response
32
+ */
33
+ protected parseResponse(rawResponse: unknown): Policy[];
34
+ }
35
+ //# sourceMappingURL=get-policy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-policy.d.ts","sourceRoot":"","sources":["../../../../src/commands/iam/policies/get-policy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAuB,MAAM,eAAe,CAAA;AAE5D,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,oBAAoB,CAAA;AAE9D;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,0BAA0B;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,OAAO,CAAC,eAAe,EAAE,MAAM,EAAE,CAAC;IACvE;;OAEG;IACH,UAAmB,cAAc,UAAO;IAExC;;OAEG;cACgB,SAAS,IAAI,MAAM;IAItC;;OAEG;cACgB,UAAU,IAAI,MAAM;IAIvC;;OAEG;cACgB,OAAO,IAAI,MAAM;IAIpC;;OAEG;cACgB,aAAa,CAAC,WAAW,EAAE,OAAO,GAAG,MAAM,EAAE;CAGjE"}
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PolicyListCommand = void 0;
4
+ const sdk_1 = require("@flowcore/sdk");
5
+ const typebox_1 = require("@sinclair/typebox");
6
+ const create_policy_js_1 = require("./create-policy.js"); // Reuse the Policy type definition
7
+ /**
8
+ * List policies
9
+ */
10
+ class PolicyListCommand extends sdk_1.Command {
11
+ /**
12
+ * Whether the command should retry on failure
13
+ */
14
+ retryOnFailure = true;
15
+ /**
16
+ * Get the method
17
+ */
18
+ getMethod() {
19
+ return "GET";
20
+ }
21
+ /**
22
+ * Get the base url
23
+ */
24
+ getBaseUrl() {
25
+ return "https://iam.api.flowcore.io";
26
+ }
27
+ /**
28
+ * Get the path
29
+ */
30
+ getPath() {
31
+ return "/api/v1/policies/";
32
+ }
33
+ /**
34
+ * Parse the response
35
+ */
36
+ parseResponse(rawResponse) {
37
+ return (0, sdk_1.parseResponseHelper)(typebox_1.Type.Array(create_policy_js_1.PolicySchema), rawResponse);
38
+ }
39
+ }
40
+ exports.PolicyListCommand = PolicyListCommand;
@@ -0,0 +1,45 @@
1
+ import { Command } from "@flowcore/sdk";
2
+ import { type Static, type TObject, type TString } from "@sinclair/typebox";
3
+ /**
4
+ * The input for the policy archive command
5
+ */
6
+ export interface PolicyArchiveInput {
7
+ /** The policy id */
8
+ policyId: string;
9
+ }
10
+ /**
11
+ * The schema for the archive policy response
12
+ */
13
+ export declare const ArchivePolicyResponseSchema: TObject<{
14
+ message: TString;
15
+ }>;
16
+ /**
17
+ * The archive policy response type
18
+ */
19
+ export type ArchivePolicyResponse = Static<typeof ArchivePolicyResponseSchema>;
20
+ /**
21
+ * Archive a policy by ID
22
+ */
23
+ export declare class PolicyArchiveCommand extends Command<PolicyArchiveInput, ArchivePolicyResponse> {
24
+ /**
25
+ * Whether the command should retry on failure
26
+ */
27
+ protected retryOnFailure: boolean;
28
+ /**
29
+ * Get the method
30
+ */
31
+ protected getMethod(): string;
32
+ /**
33
+ * Get the base url
34
+ */
35
+ protected getBaseUrl(): string;
36
+ /**
37
+ * Get the path
38
+ */
39
+ protected getPath(): string;
40
+ /**
41
+ * Parse the response
42
+ */
43
+ protected parseResponse(rawResponse: unknown): ArchivePolicyResponse;
44
+ }
45
+ //# sourceMappingURL=archive-policy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"archive-policy.d.ts","sourceRoot":"","sources":["../../../../../src/commands/iam/policies/id/archive-policy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAuB,MAAM,eAAe,CAAA;AAC5D,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,OAAO,EAAE,KAAK,OAAO,EAAQ,MAAM,mBAAmB,CAAA;AAEjF;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,oBAAoB;IACpB,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED;;GAEG;AACH,eAAO,MAAM,2BAA2B,EAAE,OAAO,CAAC;IAChD,OAAO,EAAE,OAAO,CAAA;CACjB,CAEC,CAAA;AAEF;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG,MAAM,CAAC,OAAO,2BAA2B,CAAC,CAAA;AAE9E;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,OAAO,CAC/C,kBAAkB,EAClB,qBAAqB,CACtB;IACC;;OAEG;IACH,UAAmB,cAAc,UAAQ;IAEzC;;OAEG;cACgB,SAAS,IAAI,MAAM;IAItC;;OAEG;cACgB,UAAU,IAAI,MAAM;IAIvC;;OAEG;cACgB,OAAO,IAAI,MAAM;IAIpC;;OAEG;cACgB,aAAa,CAC9B,WAAW,EAAE,OAAO,GACnB,qBAAqB;CAGzB"}