@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,112 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PolicyAssociationsCommand = exports.PolicyAssociationsSchema = exports.PolicyRoleAssociationSchema = exports.PolicyUserAssociationSchema = exports.PolicyKeyAssociationSchema = void 0;
4
+ const sdk_1 = require("@flowcore/sdk");
5
+ const typebox_1 = require("@sinclair/typebox");
6
+ /**
7
+ * The schema for a policy-key association
8
+ */
9
+ exports.PolicyKeyAssociationSchema = typebox_1.Type.Object({
10
+ policyId: typebox_1.Type.String(),
11
+ organizationId: typebox_1.Type.String(),
12
+ keyId: typebox_1.Type.String(),
13
+ });
14
+ /**
15
+ * The schema for a policy-user association
16
+ */
17
+ exports.PolicyUserAssociationSchema = typebox_1.Type.Object({
18
+ policyId: typebox_1.Type.String(),
19
+ organizationId: typebox_1.Type.String(),
20
+ userId: typebox_1.Type.String(),
21
+ });
22
+ /**
23
+ * The schema for a policy-role association
24
+ */
25
+ exports.PolicyRoleAssociationSchema = typebox_1.Type.Object({
26
+ policyId: typebox_1.Type.String(),
27
+ organizationId: typebox_1.Type.String(),
28
+ roleId: typebox_1.Type.String(),
29
+ });
30
+ /**
31
+ * The schema for policy associations
32
+ */
33
+ exports.PolicyAssociationsSchema = typebox_1.Type.Object({
34
+ keys: typebox_1.Type.Array(exports.PolicyKeyAssociationSchema),
35
+ users: typebox_1.Type.Array(exports.PolicyUserAssociationSchema),
36
+ roles: typebox_1.Type.Array(exports.PolicyRoleAssociationSchema),
37
+ });
38
+ /**
39
+ * Parse policy associations response with fallbacks for missing data
40
+ */
41
+ const parsePolicyAssociationsResponse = (rawResponse) => {
42
+ try {
43
+ // First try standard parsing
44
+ return (0, sdk_1.parseResponseHelper)(exports.PolicyAssociationsSchema, rawResponse);
45
+ }
46
+ catch (_error) {
47
+ // If it's not an object at all, return empty arrays
48
+ if (!rawResponse || typeof rawResponse !== "object") {
49
+ return { keys: [], users: [], roles: [] };
50
+ }
51
+ // Extract the raw data with safe fallbacks
52
+ const rawData = rawResponse;
53
+ // Ensure each section exists and is an array
54
+ let keys = Array.isArray(rawData.keys) ? rawData.keys : [];
55
+ let users = Array.isArray(rawData.users) ? rawData.users : [];
56
+ let roles = Array.isArray(rawData.roles) ? rawData.roles : [];
57
+ // Try to validate each section separately
58
+ try {
59
+ keys = (0, sdk_1.parseResponseHelper)(typebox_1.Type.Array(exports.PolicyKeyAssociationSchema), keys);
60
+ }
61
+ catch (_error) {
62
+ keys = [];
63
+ }
64
+ try {
65
+ users = (0, sdk_1.parseResponseHelper)(typebox_1.Type.Array(exports.PolicyUserAssociationSchema), users);
66
+ }
67
+ catch (_error) {
68
+ users = [];
69
+ }
70
+ try {
71
+ roles = (0, sdk_1.parseResponseHelper)(typebox_1.Type.Array(exports.PolicyRoleAssociationSchema), roles);
72
+ }
73
+ catch (_error) {
74
+ roles = [];
75
+ }
76
+ return { keys, users, roles };
77
+ }
78
+ };
79
+ /**
80
+ * Fetch associations for a policy
81
+ */
82
+ class PolicyAssociationsCommand extends sdk_1.Command {
83
+ /**
84
+ * Whether the command should retry on failure
85
+ */
86
+ retryOnFailure = true;
87
+ /**
88
+ * Get the method
89
+ */
90
+ getMethod() {
91
+ return "GET";
92
+ }
93
+ /**
94
+ * Get the base url
95
+ */
96
+ getBaseUrl() {
97
+ return "https://iam.api.flowcore.io";
98
+ }
99
+ /**
100
+ * Get the path
101
+ */
102
+ getPath() {
103
+ return `/api/v1/policy-associations/${this.input.policyId}`;
104
+ }
105
+ /**
106
+ * Parse the response
107
+ */
108
+ parseResponse(rawResponse) {
109
+ return parsePolicyAssociationsResponse(rawResponse);
110
+ }
111
+ }
112
+ exports.PolicyAssociationsCommand = PolicyAssociationsCommand;
@@ -0,0 +1,35 @@
1
+ import { Command } from "@flowcore/sdk";
2
+ import { type Policy } from "../policies/create-policy.js";
3
+ /**
4
+ * The input for the role policies command
5
+ */
6
+ export interface RolePoliciesInput {
7
+ /** The role id */
8
+ roleId: string;
9
+ }
10
+ /**
11
+ * Fetch policies for a role
12
+ */
13
+ export declare class RolePoliciesCommand extends Command<RolePoliciesInput, 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-role-policies.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-role-policies.d.ts","sourceRoot":"","sources":["../../../../src/commands/iam/policy-associations/get-role-policies.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAuB,MAAM,eAAe,CAAA;AAE5D,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,8BAA8B,CAAA;AAExE;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,kBAAkB;IAClB,MAAM,EAAE,MAAM,CAAA;CACf;AAsDD;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,OAAO,CAAC,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC3E;;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,68 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RolePoliciesCommand = void 0;
4
+ const sdk_1 = require("@flowcore/sdk");
5
+ const typebox_1 = require("@sinclair/typebox");
6
+ const create_policy_js_1 = require("../policies/create-policy.js");
7
+ /**
8
+ * Custom parser to handle non-boolean flowcoreManaged values
9
+ */
10
+ const parseRolePoliciesResponse = (rawResponse) => {
11
+ try {
12
+ // First try standard parsing
13
+ return (0, sdk_1.parseResponseHelper)(typebox_1.Type.Array(create_policy_js_1.PolicySchema), rawResponse);
14
+ }
15
+ catch (error) {
16
+ // If there's an error, check if it's related to flowcoreManaged
17
+ if (error instanceof Error &&
18
+ error.message.includes("flowcoreManaged") &&
19
+ Array.isArray(rawResponse)) {
20
+ // Convert flowcoreManaged to boolean for each policy
21
+ const sanitizedPolicies = rawResponse.map((policy) => ({
22
+ ...policy,
23
+ // Convert to boolean with explicit type-safe conversion
24
+ flowcoreManaged: policy.flowcoreManaged === true ||
25
+ policy.flowcoreManaged === "true" ||
26
+ (typeof policy.flowcoreManaged === "boolean" && policy.flowcoreManaged),
27
+ }));
28
+ // Try parsing again with the sanitized data
29
+ return (0, sdk_1.parseResponseHelper)(typebox_1.Type.Array(create_policy_js_1.PolicySchema), sanitizedPolicies);
30
+ }
31
+ // If not a flowcoreManaged error or not an array, rethrow
32
+ throw error;
33
+ }
34
+ };
35
+ /**
36
+ * Fetch policies for a role
37
+ */
38
+ class RolePoliciesCommand extends sdk_1.Command {
39
+ /**
40
+ * Whether the command should retry on failure
41
+ */
42
+ retryOnFailure = true;
43
+ /**
44
+ * Get the method
45
+ */
46
+ getMethod() {
47
+ return "GET";
48
+ }
49
+ /**
50
+ * Get the base url
51
+ */
52
+ getBaseUrl() {
53
+ return "https://iam.api.flowcore.io";
54
+ }
55
+ /**
56
+ * Get the path
57
+ */
58
+ getPath() {
59
+ return `/api/v1/policy-associations/role/${this.input.roleId}/`;
60
+ }
61
+ /**
62
+ * Parse the response
63
+ */
64
+ parseResponse(rawResponse) {
65
+ return parseRolePoliciesResponse(rawResponse);
66
+ }
67
+ }
68
+ exports.RolePoliciesCommand = RolePoliciesCommand;
@@ -0,0 +1,37 @@
1
+ import { Command } from "@flowcore/sdk";
2
+ import { type Policy } from "../policies/create-policy.js";
3
+ /**
4
+ * The input for the user policies command
5
+ */
6
+ export interface UserPoliciesInput {
7
+ /** The user id */
8
+ userId: string;
9
+ /** The optional organization id */
10
+ organizationId?: string;
11
+ }
12
+ /**
13
+ * Fetch policies for a user
14
+ */
15
+ export declare class UserPoliciesCommand extends Command<UserPoliciesInput, Policy[]> {
16
+ /**
17
+ * Whether the command should retry on failure
18
+ */
19
+ protected retryOnFailure: boolean;
20
+ /**
21
+ * Get the method
22
+ */
23
+ protected getMethod(): string;
24
+ /**
25
+ * Get the base url
26
+ */
27
+ protected getBaseUrl(): string;
28
+ /**
29
+ * Get the path
30
+ */
31
+ protected getPath(): string;
32
+ /**
33
+ * Parse the response
34
+ */
35
+ protected parseResponse(rawResponse: unknown): Policy[];
36
+ }
37
+ //# sourceMappingURL=get-user-policies.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-user-policies.d.ts","sourceRoot":"","sources":["../../../../src/commands/iam/policy-associations/get-user-policies.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAuB,MAAM,eAAe,CAAA;AAE5D,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,8BAA8B,CAAA;AAExE;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,kBAAkB;IAClB,MAAM,EAAE,MAAM,CAAA;IACd,mCAAmC;IACnC,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,OAAO,CAAC,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC3E;;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.UserPoliciesCommand = void 0;
4
+ const sdk_1 = require("@flowcore/sdk");
5
+ const typebox_1 = require("@sinclair/typebox");
6
+ const create_policy_js_1 = require("../policies/create-policy.js");
7
+ /**
8
+ * Fetch policies for a user
9
+ */
10
+ class UserPoliciesCommand 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/policy-associations/user/${this.input.userId}/`;
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.UserPoliciesCommand = UserPoliciesCommand;
@@ -0,0 +1,53 @@
1
+ import { Command } from "@flowcore/sdk";
2
+ import { type Static, type TObject, type TString } from "@sinclair/typebox";
3
+ /**
4
+ * The schema for a key policy link response
5
+ */
6
+ export declare const KeyPolicyLinkSchema: TObject<{
7
+ policyId: TString;
8
+ organizationId: TString;
9
+ keyId: TString;
10
+ }>;
11
+ /**
12
+ * The key policy link response type
13
+ */
14
+ export type KeyPolicyLink = Static<typeof KeyPolicyLinkSchema>;
15
+ /**
16
+ * The input for the link key policy command
17
+ */
18
+ export interface LinkKeyPolicyInput {
19
+ /** The key id */
20
+ keyId: string;
21
+ /** The policy id */
22
+ policyId: string;
23
+ }
24
+ /**
25
+ * Link a policy to a key
26
+ */
27
+ export declare class LinkKeyPolicyCommand extends Command<LinkKeyPolicyInput, KeyPolicyLink> {
28
+ /**
29
+ * Whether the command should retry on failure
30
+ */
31
+ protected retryOnFailure: boolean;
32
+ /**
33
+ * Get the method
34
+ */
35
+ protected getMethod(): string;
36
+ /**
37
+ * Get the base url
38
+ */
39
+ protected getBaseUrl(): string;
40
+ /**
41
+ * Get the path
42
+ */
43
+ protected getPath(): string;
44
+ /**
45
+ * Get the body
46
+ */
47
+ protected getBody(): Record<string, unknown>;
48
+ /**
49
+ * Parse the response
50
+ */
51
+ protected parseResponse(rawResponse: unknown): KeyPolicyLink;
52
+ }
53
+ //# sourceMappingURL=link-key-policy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"link-key-policy.d.ts","sourceRoot":"","sources":["../../../../src/commands/iam/policy-associations/link-key-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,eAAO,MAAM,mBAAmB,EAAE,OAAO,CAAC;IACxC,QAAQ,EAAE,OAAO,CAAA;IACjB,cAAc,EAAE,OAAO,CAAA;IACvB,KAAK,EAAE,OAAO,CAAA;CACf,CAIC,CAAA;AAEF;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAE9D;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,iBAAiB;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,oBAAoB;IACpB,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,OAAO,CAC/C,kBAAkB,EAClB,aAAa,CACd;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,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAMrD;;OAEG;cACgB,aAAa,CAAC,WAAW,EAAE,OAAO,GAAG,aAAa;CAGtE"}
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LinkKeyPolicyCommand = exports.KeyPolicyLinkSchema = void 0;
4
+ const sdk_1 = require("@flowcore/sdk");
5
+ const typebox_1 = require("@sinclair/typebox");
6
+ /**
7
+ * The schema for a key policy link response
8
+ */
9
+ exports.KeyPolicyLinkSchema = typebox_1.Type.Object({
10
+ policyId: typebox_1.Type.String(),
11
+ organizationId: typebox_1.Type.String(),
12
+ keyId: typebox_1.Type.String(),
13
+ });
14
+ /**
15
+ * Link a policy to a key
16
+ */
17
+ class LinkKeyPolicyCommand extends sdk_1.Command {
18
+ /**
19
+ * Whether the command should retry on failure
20
+ */
21
+ retryOnFailure = false;
22
+ /**
23
+ * Get the method
24
+ */
25
+ getMethod() {
26
+ return "POST";
27
+ }
28
+ /**
29
+ * Get the base url
30
+ */
31
+ getBaseUrl() {
32
+ return "https://iam.api.flowcore.io";
33
+ }
34
+ /**
35
+ * Get the path
36
+ */
37
+ getPath() {
38
+ return `/api/v1/policy-associations/key/${this.input.keyId}/`;
39
+ }
40
+ /**
41
+ * Get the body
42
+ */
43
+ getBody() {
44
+ return {
45
+ policyId: this.input.policyId,
46
+ };
47
+ }
48
+ /**
49
+ * Parse the response
50
+ */
51
+ parseResponse(rawResponse) {
52
+ return (0, sdk_1.parseResponseHelper)(exports.KeyPolicyLinkSchema, rawResponse);
53
+ }
54
+ }
55
+ exports.LinkKeyPolicyCommand = LinkKeyPolicyCommand;
@@ -0,0 +1,53 @@
1
+ import { Command } from "@flowcore/sdk";
2
+ import { type Static, type TObject, type TString } from "@sinclair/typebox";
3
+ /**
4
+ * The schema for a role policy link response
5
+ */
6
+ export declare const RolePolicyLinkSchema: TObject<{
7
+ policyId: TString;
8
+ organizationId: TString;
9
+ roleId: TString;
10
+ }>;
11
+ /**
12
+ * The role policy link response type
13
+ */
14
+ export type RolePolicyLink = Static<typeof RolePolicyLinkSchema>;
15
+ /**
16
+ * The input for the link role policy command
17
+ */
18
+ export interface LinkRolePolicyInput {
19
+ /** The role id */
20
+ roleId: string;
21
+ /** The policy id */
22
+ policyId: string;
23
+ }
24
+ /**
25
+ * Link a policy to a role
26
+ */
27
+ export declare class LinkRolePolicyCommand extends Command<LinkRolePolicyInput, RolePolicyLink> {
28
+ /**
29
+ * Whether the command should retry on failure
30
+ */
31
+ protected retryOnFailure: boolean;
32
+ /**
33
+ * Get the method
34
+ */
35
+ protected getMethod(): string;
36
+ /**
37
+ * Get the base url
38
+ */
39
+ protected getBaseUrl(): string;
40
+ /**
41
+ * Get the path
42
+ */
43
+ protected getPath(): string;
44
+ /**
45
+ * Get the body
46
+ */
47
+ protected getBody(): Record<string, unknown>;
48
+ /**
49
+ * Parse the response
50
+ */
51
+ protected parseResponse(rawResponse: unknown): RolePolicyLink;
52
+ }
53
+ //# sourceMappingURL=link-role-policy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"link-role-policy.d.ts","sourceRoot":"","sources":["../../../../src/commands/iam/policy-associations/link-role-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,eAAO,MAAM,oBAAoB,EAAE,OAAO,CAAC;IACzC,QAAQ,EAAE,OAAO,CAAA;IACjB,cAAc,EAAE,OAAO,CAAA;IACvB,MAAM,EAAE,OAAO,CAAA;CAChB,CAIC,CAAA;AAEF;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAEhE;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,kBAAkB;IAClB,MAAM,EAAE,MAAM,CAAA;IACd,oBAAoB;IACpB,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,OAAO,CAChD,mBAAmB,EACnB,cAAc,CACf;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,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAMrD;;OAEG;cACgB,aAAa,CAAC,WAAW,EAAE,OAAO,GAAG,cAAc;CAGvE"}
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LinkRolePolicyCommand = exports.RolePolicyLinkSchema = void 0;
4
+ const sdk_1 = require("@flowcore/sdk");
5
+ const typebox_1 = require("@sinclair/typebox");
6
+ /**
7
+ * The schema for a role policy link response
8
+ */
9
+ exports.RolePolicyLinkSchema = typebox_1.Type.Object({
10
+ policyId: typebox_1.Type.String(),
11
+ organizationId: typebox_1.Type.String(),
12
+ roleId: typebox_1.Type.String(),
13
+ });
14
+ /**
15
+ * Link a policy to a role
16
+ */
17
+ class LinkRolePolicyCommand extends sdk_1.Command {
18
+ /**
19
+ * Whether the command should retry on failure
20
+ */
21
+ retryOnFailure = false;
22
+ /**
23
+ * Get the method
24
+ */
25
+ getMethod() {
26
+ return "POST";
27
+ }
28
+ /**
29
+ * Get the base url
30
+ */
31
+ getBaseUrl() {
32
+ return "https://iam.api.flowcore.io";
33
+ }
34
+ /**
35
+ * Get the path
36
+ */
37
+ getPath() {
38
+ return `/api/v1/policy-associations/role/${this.input.roleId}/`;
39
+ }
40
+ /**
41
+ * Get the body
42
+ */
43
+ getBody() {
44
+ return {
45
+ policyId: this.input.policyId,
46
+ };
47
+ }
48
+ /**
49
+ * Parse the response
50
+ */
51
+ parseResponse(rawResponse) {
52
+ return (0, sdk_1.parseResponseHelper)(exports.RolePolicyLinkSchema, rawResponse);
53
+ }
54
+ }
55
+ exports.LinkRolePolicyCommand = LinkRolePolicyCommand;
@@ -0,0 +1,53 @@
1
+ import { Command } from "@flowcore/sdk";
2
+ import { type Static, type TObject, type TString } from "@sinclair/typebox";
3
+ /**
4
+ * The schema for a user policy link response
5
+ */
6
+ export declare const UserPolicyLinkSchema: TObject<{
7
+ policyId: TString;
8
+ organizationId: TString;
9
+ userId: TString;
10
+ }>;
11
+ /**
12
+ * The user policy link response type
13
+ */
14
+ export type UserPolicyLink = Static<typeof UserPolicyLinkSchema>;
15
+ /**
16
+ * The input for the link user policy command
17
+ */
18
+ export interface LinkUserPolicyInput {
19
+ /** The user id */
20
+ userId: string;
21
+ /** The policy id */
22
+ policyId: string;
23
+ }
24
+ /**
25
+ * Link a policy to a user
26
+ */
27
+ export declare class LinkUserPolicyCommand extends Command<LinkUserPolicyInput, UserPolicyLink> {
28
+ /**
29
+ * Whether the command should retry on failure
30
+ */
31
+ protected retryOnFailure: boolean;
32
+ /**
33
+ * Get the method
34
+ */
35
+ protected getMethod(): string;
36
+ /**
37
+ * Get the base url
38
+ */
39
+ protected getBaseUrl(): string;
40
+ /**
41
+ * Get the path
42
+ */
43
+ protected getPath(): string;
44
+ /**
45
+ * Get the body
46
+ */
47
+ protected getBody(): Record<string, unknown>;
48
+ /**
49
+ * Parse the response
50
+ */
51
+ protected parseResponse(rawResponse: unknown): UserPolicyLink;
52
+ }
53
+ //# sourceMappingURL=link-user-policy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"link-user-policy.d.ts","sourceRoot":"","sources":["../../../../src/commands/iam/policy-associations/link-user-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,eAAO,MAAM,oBAAoB,EAAE,OAAO,CAAC;IACzC,QAAQ,EAAE,OAAO,CAAA;IACjB,cAAc,EAAE,OAAO,CAAA;IACvB,MAAM,EAAE,OAAO,CAAA;CAChB,CAIC,CAAA;AAEF;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAEhE;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,kBAAkB;IAClB,MAAM,EAAE,MAAM,CAAA;IACd,oBAAoB;IACpB,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,OAAO,CAChD,mBAAmB,EACnB,cAAc,CACf;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,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAMrD;;OAEG;cACgB,aAAa,CAAC,WAAW,EAAE,OAAO,GAAG,cAAc;CAGvE"}
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LinkUserPolicyCommand = exports.UserPolicyLinkSchema = void 0;
4
+ const sdk_1 = require("@flowcore/sdk");
5
+ const typebox_1 = require("@sinclair/typebox");
6
+ /**
7
+ * The schema for a user policy link response
8
+ */
9
+ exports.UserPolicyLinkSchema = typebox_1.Type.Object({
10
+ policyId: typebox_1.Type.String(),
11
+ organizationId: typebox_1.Type.String(),
12
+ userId: typebox_1.Type.String(),
13
+ });
14
+ /**
15
+ * Link a policy to a user
16
+ */
17
+ class LinkUserPolicyCommand extends sdk_1.Command {
18
+ /**
19
+ * Whether the command should retry on failure
20
+ */
21
+ retryOnFailure = false;
22
+ /**
23
+ * Get the method
24
+ */
25
+ getMethod() {
26
+ return "POST";
27
+ }
28
+ /**
29
+ * Get the base url
30
+ */
31
+ getBaseUrl() {
32
+ return "https://iam.api.flowcore.io";
33
+ }
34
+ /**
35
+ * Get the path
36
+ */
37
+ getPath() {
38
+ return `/api/v1/policy-associations/user/${this.input.userId}/`;
39
+ }
40
+ /**
41
+ * Get the body
42
+ */
43
+ getBody() {
44
+ return {
45
+ policyId: this.input.policyId,
46
+ };
47
+ }
48
+ /**
49
+ * Parse the response
50
+ */
51
+ parseResponse(rawResponse) {
52
+ return (0, sdk_1.parseResponseHelper)(exports.UserPolicyLinkSchema, rawResponse);
53
+ }
54
+ }
55
+ exports.LinkUserPolicyCommand = LinkUserPolicyCommand;
@@ -0,0 +1,41 @@
1
+ import { Command } from "@flowcore/sdk";
2
+ import { type KeyPolicyLink } from "./link-key-policy.js";
3
+ /**
4
+ * The input for the unlink key policy command
5
+ */
6
+ export interface UnlinkKeyPolicyInput {
7
+ /** The key id */
8
+ keyId: string;
9
+ /** The policy id */
10
+ policyId: string;
11
+ }
12
+ /**
13
+ * Unlink a policy from a key
14
+ */
15
+ export declare class UnlinkKeyPolicyCommand extends Command<UnlinkKeyPolicyInput, KeyPolicyLink> {
16
+ /**
17
+ * Whether the command should retry on failure
18
+ */
19
+ protected retryOnFailure: boolean;
20
+ /**
21
+ * Get the method
22
+ */
23
+ protected getMethod(): string;
24
+ /**
25
+ * Get the base url
26
+ */
27
+ protected getBaseUrl(): string;
28
+ /**
29
+ * Get the path
30
+ */
31
+ protected getPath(): string;
32
+ /**
33
+ * Get the body
34
+ */
35
+ protected getBody(): Record<string, unknown>;
36
+ /**
37
+ * Parse the response
38
+ */
39
+ protected parseResponse(rawResponse: unknown): KeyPolicyLink;
40
+ }
41
+ //# sourceMappingURL=unlink-key-policy.d.ts.map