@credibledata/cred-cli 0.0.100 → 0.0.103

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 (225) hide show
  1. package/README-DEV.md +2 -2
  2. package/README.md +1 -1
  3. package/coverage/coverage-summary.json +40 -0
  4. package/coverage/tmp/coverage-2152-1789496974457-0.json +1 -0
  5. package/coverage/tmp/coverage-2153-1789496954404-0.json +1 -0
  6. package/dist/client/api.js +6151 -2254
  7. package/dist/client/api.js.map +1 -1
  8. package/dist/client/base.js +1 -1
  9. package/dist/client/common.js +1 -1
  10. package/dist/client/configuration.js +1 -1
  11. package/dist/client/index.js +1 -1
  12. package/dist/clientconfiguration.js +114 -26
  13. package/dist/clientconfiguration.js.map +1 -1
  14. package/dist/clientconfiguration.spec.js +159 -37
  15. package/dist/clientconfiguration.spec.js.map +1 -1
  16. package/dist/commands/add.js +36 -5
  17. package/dist/commands/add.js.map +1 -1
  18. package/dist/commands/connection/createconnections.js +4 -4
  19. package/dist/commands/connection/createconnections.js.map +1 -1
  20. package/dist/commands/connection/createconnections.spec.js +11 -1
  21. package/dist/commands/connection/createconnections.spec.js.map +1 -1
  22. package/dist/commands/connection/deleteconnection.js +4 -4
  23. package/dist/commands/connection/deleteconnection.js.map +1 -1
  24. package/dist/commands/connection/deleteconnection.spec.js +1 -1
  25. package/dist/commands/connection/deleteconnection.spec.js.map +1 -1
  26. package/dist/commands/connection/listconnections.js +4 -4
  27. package/dist/commands/connection/listconnections.js.map +1 -1
  28. package/dist/commands/connection/listconnections.spec.js +1 -1
  29. package/dist/commands/connection/listconnections.spec.js.map +1 -1
  30. package/dist/commands/{project/createproject.js → environment/createenvironment.js} +17 -14
  31. package/dist/commands/environment/createenvironment.js.map +1 -0
  32. package/dist/commands/{project/createproject.spec.js → environment/createenvironment.spec.js} +46 -46
  33. package/dist/commands/environment/createenvironment.spec.js.map +1 -0
  34. package/dist/commands/{project/deleteproject.js → environment/deleteenvironment.js} +9 -9
  35. package/dist/commands/environment/deleteenvironment.js.map +1 -0
  36. package/dist/commands/{project/deleteproject.spec.js → environment/deleteenvironment.spec.js} +29 -29
  37. package/dist/commands/environment/deleteenvironment.spec.js.map +1 -0
  38. package/dist/commands/{project/getproject.js → environment/getenvironment.js} +8 -8
  39. package/dist/commands/environment/getenvironment.js.map +1 -0
  40. package/dist/commands/{project/getproject.spec.js → environment/getenvironment.spec.js} +32 -33
  41. package/dist/commands/environment/getenvironment.spec.js.map +1 -0
  42. package/dist/commands/{project/listprojects.js → environment/listenvironments.js} +10 -10
  43. package/dist/commands/environment/listenvironments.js.map +1 -0
  44. package/dist/commands/{project/listprojects.spec.js → environment/listenvironments.spec.js} +35 -35
  45. package/dist/commands/environment/listenvironments.spec.js.map +1 -0
  46. package/dist/commands/{project/setproject.js → environment/setenvironment.js} +6 -5
  47. package/dist/commands/environment/setenvironment.js.map +1 -0
  48. package/dist/commands/{project/setproject.spec.js → environment/setenvironment.spec.js} +9 -9
  49. package/dist/commands/environment/setenvironment.spec.js.map +1 -0
  50. package/dist/commands/environment/updateenvironment.js +130 -0
  51. package/dist/commands/environment/updateenvironment.js.map +1 -0
  52. package/dist/commands/environment/updateenvironment.spec.js +213 -0
  53. package/dist/commands/environment/updateenvironment.spec.js.map +1 -0
  54. package/dist/commands/get.js +66 -5
  55. package/dist/commands/get.js.map +1 -1
  56. package/dist/commands/legacy.js +9 -0
  57. package/dist/commands/legacy.js.map +1 -0
  58. package/dist/commands/list.js +95 -4
  59. package/dist/commands/list.js.map +1 -1
  60. package/dist/commands/materialization/cancelrun.js +62 -0
  61. package/dist/commands/materialization/cancelrun.js.map +1 -0
  62. package/dist/commands/materialization/getindex.js +52 -0
  63. package/dist/commands/materialization/getindex.js.map +1 -0
  64. package/dist/commands/materialization/getmaterialization.js +54 -0
  65. package/dist/commands/materialization/getmaterialization.js.map +1 -0
  66. package/dist/commands/materialization/getpreaggregate.js +55 -0
  67. package/dist/commands/materialization/getpreaggregate.js.map +1 -0
  68. package/dist/commands/materialization/getrun.js +54 -0
  69. package/dist/commands/materialization/getrun.js.map +1 -0
  70. package/dist/commands/materialization/listindexes.js +58 -0
  71. package/dist/commands/materialization/listindexes.js.map +1 -0
  72. package/dist/commands/materialization/listmaterializations.js +52 -0
  73. package/dist/commands/materialization/listmaterializations.js.map +1 -0
  74. package/dist/commands/materialization/listpreaggregates.js +61 -0
  75. package/dist/commands/materialization/listpreaggregates.js.map +1 -0
  76. package/dist/commands/materialization/listruns.js +60 -0
  77. package/dist/commands/materialization/listruns.js.map +1 -0
  78. package/dist/commands/materialization/rerun.js +111 -0
  79. package/dist/commands/materialization/rerun.js.map +1 -0
  80. package/dist/commands/misc/login.js +16 -2
  81. package/dist/commands/misc/login.js.map +1 -1
  82. package/dist/commands/misc/login.spec.js +133 -5
  83. package/dist/commands/misc/login.spec.js.map +1 -1
  84. package/dist/commands/package/deletepackage.js +4 -4
  85. package/dist/commands/package/deletepackage.js.map +1 -1
  86. package/dist/commands/package/deletepackage.spec.js +1 -1
  87. package/dist/commands/package/deletepackage.spec.js.map +1 -1
  88. package/dist/commands/package/listpackages.js +11 -4
  89. package/dist/commands/package/listpackages.js.map +1 -1
  90. package/dist/commands/package/listpackages.spec.js +13 -1
  91. package/dist/commands/package/listpackages.spec.js.map +1 -1
  92. package/dist/commands/package/publish.js +36 -13
  93. package/dist/commands/package/publish.js.map +1 -1
  94. package/dist/commands/package/publish.spec.js +27 -1
  95. package/dist/commands/package/publish.spec.js.map +1 -1
  96. package/dist/commands/package/updatepackage.js +4 -4
  97. package/dist/commands/package/updatepackage.js.map +1 -1
  98. package/dist/commands/package/updatepackage.spec.js +1 -1
  99. package/dist/commands/package/updatepackage.spec.js.map +1 -1
  100. package/dist/commands/permission/createpermission.js +123 -0
  101. package/dist/commands/permission/createpermission.js.map +1 -0
  102. package/dist/commands/permission/createpermission.spec.js +360 -0
  103. package/dist/commands/permission/createpermission.spec.js.map +1 -0
  104. package/dist/commands/permission/deletepermission.js +86 -0
  105. package/dist/commands/permission/deletepermission.js.map +1 -0
  106. package/dist/commands/permission/getpermission.js +85 -0
  107. package/dist/commands/permission/getpermission.js.map +1 -0
  108. package/dist/commands/permission/listpermissions.js +75 -0
  109. package/dist/commands/permission/listpermissions.js.map +1 -0
  110. package/dist/commands/permission/scope.js +140 -0
  111. package/dist/commands/permission/scope.js.map +1 -0
  112. package/dist/commands/rm.js +26 -4
  113. package/dist/commands/rm.js.map +1 -1
  114. package/dist/commands/set.js +12 -4
  115. package/dist/commands/set.js.map +1 -1
  116. package/dist/commands/update.js +29 -10
  117. package/dist/commands/update.js.map +1 -1
  118. package/dist/commands/version/archive-unarchive-version.js +4 -5
  119. package/dist/commands/version/archive-unarchive-version.js.map +1 -1
  120. package/dist/commands/version/archive-unarchive-version.spec.js +4 -4
  121. package/dist/commands/version/archive-unarchive-version.spec.js.map +1 -1
  122. package/dist/commands/version/listversions.js +4 -4
  123. package/dist/commands/version/listversions.js.map +1 -1
  124. package/dist/commands/version/listversions.spec.js +1 -1
  125. package/dist/commands/version/listversions.spec.js.map +1 -1
  126. package/dist/common/UserGroupId.js +1 -1
  127. package/dist/common/UserGroupId.js.map +1 -1
  128. package/dist/common/UserGroupId.spec.js +2 -4
  129. package/dist/common/UserGroupId.spec.js.map +1 -1
  130. package/dist/constants.js +95 -19
  131. package/dist/constants.js.map +1 -1
  132. package/dist/constants.spec.js +90 -0
  133. package/dist/constants.spec.js.map +1 -0
  134. package/dist/index.js +128 -15
  135. package/dist/index.js.map +1 -1
  136. package/dist/logger.js +5 -1
  137. package/dist/logger.js.map +1 -1
  138. package/openapitools.json +4 -1
  139. package/package.json +10 -9
  140. package/src/client/api.ts +9363 -3093
  141. package/src/client/base.ts +1 -1
  142. package/src/client/common.ts +1 -1
  143. package/src/client/configuration.ts +1 -1
  144. package/src/client/index.ts +1 -1
  145. package/src/clientconfiguration.spec.ts +238 -113
  146. package/src/clientconfiguration.ts +131 -30
  147. package/src/commands/add.ts +78 -12
  148. package/src/commands/connection/createconnections.spec.ts +11 -1
  149. package/src/commands/connection/createconnections.ts +4 -4
  150. package/src/commands/connection/deleteconnection.spec.ts +1 -1
  151. package/src/commands/connection/deleteconnection.ts +4 -4
  152. package/src/commands/connection/listconnections.spec.ts +1 -1
  153. package/src/commands/connection/listconnections.ts +4 -4
  154. package/src/commands/{project/createproject.spec.ts → environment/createenvironment.spec.ts} +56 -54
  155. package/src/commands/{project/createproject.ts → environment/createenvironment.ts} +17 -14
  156. package/src/commands/{project/deleteproject.spec.ts → environment/deleteenvironment.spec.ts} +59 -30
  157. package/src/commands/{project/deleteproject.ts → environment/deleteenvironment.ts} +10 -10
  158. package/src/commands/environment/getenvironment.spec.ts +110 -0
  159. package/src/commands/{project/getproject.ts → environment/getenvironment.ts} +9 -9
  160. package/src/commands/{project/listprojects.spec.ts → environment/listenvironments.spec.ts} +37 -35
  161. package/src/commands/{project/listprojects.ts → environment/listenvironments.ts} +13 -8
  162. package/src/commands/{project/setproject.spec.ts → environment/setenvironment.spec.ts} +8 -8
  163. package/src/commands/{project/setproject.ts → environment/setenvironment.ts} +4 -4
  164. package/src/commands/environment/updateenvironment.spec.ts +386 -0
  165. package/src/commands/environment/updateenvironment.ts +168 -0
  166. package/src/commands/get.ts +131 -9
  167. package/src/commands/legacy.ts +5 -0
  168. package/src/commands/list.ts +204 -9
  169. package/src/commands/materialization/cancelrun.ts +70 -0
  170. package/src/commands/materialization/getindex.ts +55 -0
  171. package/src/commands/materialization/getmaterialization.ts +57 -0
  172. package/src/commands/materialization/getpreaggregate.ts +58 -0
  173. package/src/commands/materialization/getrun.ts +55 -0
  174. package/src/commands/materialization/listindexes.ts +69 -0
  175. package/src/commands/materialization/listmaterializations.ts +53 -0
  176. package/src/commands/materialization/listpreaggregates.ts +74 -0
  177. package/src/commands/materialization/listruns.ts +77 -0
  178. package/src/commands/materialization/rerun.ts +123 -0
  179. package/src/commands/misc/login.spec.ts +165 -7
  180. package/src/commands/misc/login.ts +20 -2
  181. package/src/commands/package/deletepackage.spec.ts +1 -1
  182. package/src/commands/package/deletepackage.ts +4 -4
  183. package/src/commands/package/listpackages.spec.ts +17 -1
  184. package/src/commands/package/listpackages.ts +11 -4
  185. package/src/commands/package/publish.spec.ts +46 -1
  186. package/src/commands/package/publish.ts +38 -13
  187. package/src/commands/package/updatepackage.spec.ts +1 -1
  188. package/src/commands/package/updatepackage.ts +4 -4
  189. package/src/commands/permission/createpermission.spec.ts +507 -0
  190. package/src/commands/permission/createpermission.ts +181 -0
  191. package/src/commands/permission/deletepermission.ts +117 -0
  192. package/src/commands/permission/getpermission.ts +115 -0
  193. package/src/commands/permission/listpermissions.ts +101 -0
  194. package/src/commands/permission/scope.ts +180 -0
  195. package/src/commands/rm.ts +54 -9
  196. package/src/commands/set.ts +13 -4
  197. package/src/commands/update.ts +66 -23
  198. package/src/commands/version/archive-unarchive-version.spec.ts +4 -4
  199. package/src/commands/version/archive-unarchive-version.ts +4 -7
  200. package/src/commands/version/listversions.spec.ts +1 -1
  201. package/src/commands/version/listversions.ts +4 -4
  202. package/src/common/UserGroupId.spec.ts +2 -4
  203. package/src/common/UserGroupId.ts +1 -1
  204. package/src/constants.spec.ts +111 -0
  205. package/src/constants.ts +131 -19
  206. package/src/index.ts +187 -18
  207. package/src/logger.ts +5 -1
  208. package/bun.lock +0 -1158
  209. package/dist/commands/project/createproject.js.map +0 -1
  210. package/dist/commands/project/createproject.spec.js.map +0 -1
  211. package/dist/commands/project/deleteproject.js.map +0 -1
  212. package/dist/commands/project/deleteproject.spec.js.map +0 -1
  213. package/dist/commands/project/getproject.js.map +0 -1
  214. package/dist/commands/project/getproject.spec.js.map +0 -1
  215. package/dist/commands/project/listprojects.js.map +0 -1
  216. package/dist/commands/project/listprojects.spec.js.map +0 -1
  217. package/dist/commands/project/setproject.js.map +0 -1
  218. package/dist/commands/project/setproject.spec.js.map +0 -1
  219. package/dist/commands/project/updateproject.js +0 -68
  220. package/dist/commands/project/updateproject.js.map +0 -1
  221. package/dist/commands/project/updateproject.spec.js +0 -129
  222. package/dist/commands/project/updateproject.spec.js.map +0 -1
  223. package/src/commands/project/getproject.spec.ts +0 -109
  224. package/src/commands/project/updateproject.spec.ts +0 -217
  225. package/src/commands/project/updateproject.ts +0 -82
@@ -0,0 +1,213 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ const chai_1 = require("chai");
16
+ const sinon_1 = __importDefault(require("sinon"));
17
+ const api_1 = require("../../client/api");
18
+ const clientconfiguration_1 = require("../../clientconfiguration");
19
+ const logger_1 = require("../../logger");
20
+ const updateenvironment_1 = require("./updateenvironment");
21
+ describe("update-environment", () => {
22
+ let sandbox;
23
+ let updateEnvironmentStub;
24
+ let loggerStub;
25
+ beforeEach(() => {
26
+ sandbox = sinon_1.default.createSandbox();
27
+ updateEnvironmentStub = sandbox.stub();
28
+ loggerStub = sandbox.stub(logger_1.logger);
29
+ // Mock ClientConfiguration constructor
30
+ sandbox
31
+ .stub(clientconfiguration_1.ClientConfiguration.prototype, "getOrganization")
32
+ .returns("test-org");
33
+ sandbox
34
+ .stub(clientconfiguration_1.ClientConfiguration.prototype, "doesConfigExists")
35
+ .returns(true);
36
+ sandbox
37
+ .stub(clientconfiguration_1.ClientConfiguration.prototype, "getHeaders")
38
+ .returns({ Authorization: "Bearer test-token" });
39
+ // Mock EnvironmentsApi constructor and method
40
+ sandbox
41
+ .stub(api_1.EnvironmentsApi.prototype, "updateEnvironment")
42
+ .callsFake(updateEnvironmentStub);
43
+ });
44
+ afterEach(() => {
45
+ sandbox.restore();
46
+ });
47
+ describe("updateEnvironment", () => {
48
+ it("should update environment successfully", () => __awaiter(void 0, void 0, void 0, function* () {
49
+ const mockResponse = { status: 200 };
50
+ updateEnvironmentStub.resolves(mockResponse);
51
+ yield (0, updateenvironment_1.updateEnvironment)("http://test-server", "test-environment", { replicationCount: 3 }, false, true);
52
+ (0, chai_1.expect)(updateEnvironmentStub.calledOnce).to.be.true;
53
+ (0, chai_1.expect)(updateEnvironmentStub.firstCall.args[0]).to.equal("test-org");
54
+ (0, chai_1.expect)(updateEnvironmentStub.firstCall.args[1]).to.equal("test-environment");
55
+ (0, chai_1.expect)(updateEnvironmentStub.firstCall.args[2]).to.include({
56
+ replicationCount: 3,
57
+ });
58
+ (0, chai_1.expect)(updateEnvironmentStub.firstCall.args[3]).to.deep.include({
59
+ baseURL: "http://test-server",
60
+ headers: { Authorization: "Bearer test-token" },
61
+ });
62
+ (0, chai_1.expect)(loggerStub.info.calledWith(sinon_1.default.match("Successfully updated environment test-environment"))).to.be.true;
63
+ }));
64
+ it("should handle missing environment name", () => __awaiter(void 0, void 0, void 0, function* () {
65
+ yield (0, updateenvironment_1.updateEnvironment)("http://test-server", "", { replicationCount: 3 }, false, true);
66
+ (0, chai_1.expect)(updateEnvironmentStub.called).to.be.false;
67
+ (0, chai_1.expect)(loggerStub.error.calledWith(sinon_1.default.match("Please provide an environment name"))).to.be.true;
68
+ }));
69
+ it("should handle API errors", () => __awaiter(void 0, void 0, void 0, function* () {
70
+ const mockError = new Error("API Error");
71
+ updateEnvironmentStub.rejects(mockError);
72
+ yield (0, updateenvironment_1.updateEnvironment)("http://test-server", "test-environment", { replicationCount: 3 }, true, true);
73
+ (0, chai_1.expect)(updateEnvironmentStub.calledOnce).to.be.true;
74
+ (0, chai_1.expect)(loggerStub.error.calledWith(sinon_1.default.match("Failed to update environment test-environment"))).to.be.true;
75
+ }));
76
+ it("should handle non-200 response status", () => __awaiter(void 0, void 0, void 0, function* () {
77
+ const mockResponse = { status: 400 };
78
+ updateEnvironmentStub.resolves(mockResponse);
79
+ yield (0, updateenvironment_1.updateEnvironment)("http://test-server", "test-environment", { replicationCount: 3 }, false, true);
80
+ (0, chai_1.expect)(updateEnvironmentStub.calledOnce).to.be.true;
81
+ (0, chai_1.expect)(loggerStub.error.calledWith(sinon_1.default.match("Failed to update environment. Status: 400"))).to.be.true;
82
+ }));
83
+ });
84
+ describe("validators", () => {
85
+ describe("authentication validation", () => {
86
+ it("should fail when user is not logged in", () => __awaiter(void 0, void 0, void 0, function* () {
87
+ sandbox.restore();
88
+ sandbox = sinon_1.default.createSandbox();
89
+ updateEnvironmentStub = sandbox.stub();
90
+ loggerStub = sandbox.stub(logger_1.logger);
91
+ sandbox
92
+ .stub(clientconfiguration_1.ClientConfiguration.prototype, "doesConfigExists")
93
+ .returns(false);
94
+ sandbox
95
+ .stub(api_1.EnvironmentsApi.prototype, "updateEnvironment")
96
+ .callsFake(updateEnvironmentStub);
97
+ yield (0, updateenvironment_1.updateEnvironment)("http://test-server", "test-environment", { replicationCount: 3 }, false, true);
98
+ (0, chai_1.expect)(updateEnvironmentStub.called).to.be.false;
99
+ (0, chai_1.expect)(loggerStub.error.calledWith(sinon_1.default.match("Please, make sure that you are logged in"))).to.be.true;
100
+ }));
101
+ });
102
+ describe("git-backed modeling", () => {
103
+ it("sends the enrolment flag on its own", () => __awaiter(void 0, void 0, void 0, function* () {
104
+ updateEnvironmentStub.resolves({ status: 200 });
105
+ yield (0, updateenvironment_1.updateEnvironment)("http://test-server", "test-environment", { gitModeling: "true" }, false, true);
106
+ (0, chai_1.expect)(updateEnvironmentStub.calledOnce).to.be.true;
107
+ (0, chai_1.expect)(updateEnvironmentStub.firstCall.args[2]).to.deep.equal({
108
+ gitModelingEnabled: true,
109
+ });
110
+ }));
111
+ it("rejects a --git-modeling value that is neither true nor false", () => __awaiter(void 0, void 0, void 0, function* () {
112
+ yield (0, updateenvironment_1.updateEnvironment)("http://test-server", "test-environment", { gitModeling: "yes" }, false, true);
113
+ (0, chai_1.expect)(updateEnvironmentStub.called).to.be.false;
114
+ (0, chai_1.expect)(loggerStub.error.calledWith(sinon_1.default.match("--git-modeling must be true or false"))).to.be.true;
115
+ }));
116
+ it("sends all three coordinates together", () => __awaiter(void 0, void 0, void 0, function* () {
117
+ updateEnvironmentStub.resolves({ status: 200 });
118
+ yield (0, updateenvironment_1.updateEnvironment)("http://test-server", "test-environment", {
119
+ gitRepositoryOwner: "credible-data-repos",
120
+ gitRepositoryName: "models",
121
+ gitBaseBranch: "main",
122
+ }, false, true);
123
+ (0, chai_1.expect)(updateEnvironmentStub.firstCall.args[2]).to.deep.equal({
124
+ gitRepositoryOwner: "credible-data-repos",
125
+ gitRepositoryName: "models",
126
+ gitBaseBranch: "main",
127
+ });
128
+ }));
129
+ it("refuses a partial coordinate locally rather than sending a 400", () => __awaiter(void 0, void 0, void 0, function* () {
130
+ // The API rejects this as GIT_REPOSITORY_INCOMPLETE. Refusing here means a
131
+ // script gets the rule from the tool it is driving.
132
+ yield (0, updateenvironment_1.updateEnvironment)("http://test-server", "test-environment", { gitRepositoryOwner: "credible-data-repos" }, false, true);
133
+ (0, chai_1.expect)(updateEnvironmentStub.called).to.be.false;
134
+ (0, chai_1.expect)(loggerStub.error.calledWith(sinon_1.default.match("change together")))
135
+ .to.be.true;
136
+ }));
137
+ it("refuses a mix of set and cleared coordinates", () => __awaiter(void 0, void 0, void 0, function* () {
138
+ yield (0, updateenvironment_1.updateEnvironment)("http://test-server", "test-environment", {
139
+ gitRepositoryOwner: "credible-data-repos",
140
+ gitRepositoryName: "",
141
+ gitBaseBranch: "main",
142
+ }, false, true);
143
+ (0, chai_1.expect)(updateEnvironmentStub.called).to.be.false;
144
+ (0, chai_1.expect)(loggerStub.error.calledWith(sinon_1.default.match("unset the repository"))).to.be.true;
145
+ }));
146
+ it("sends nulls when all three are emptied, which is how a record is unset", () => __awaiter(void 0, void 0, void 0, function* () {
147
+ updateEnvironmentStub.resolves({ status: 200 });
148
+ yield (0, updateenvironment_1.updateEnvironment)("http://test-server", "test-environment", {
149
+ gitRepositoryOwner: "",
150
+ gitRepositoryName: "",
151
+ gitBaseBranch: " ",
152
+ }, false, true);
153
+ (0, chai_1.expect)(updateEnvironmentStub.firstCall.args[2]).to.deep.equal({
154
+ gitRepositoryOwner: null,
155
+ gitRepositoryName: null,
156
+ gitBaseBranch: null,
157
+ });
158
+ }));
159
+ it("carries the enrolment and the coordinates in one request", () => __awaiter(void 0, void 0, void 0, function* () {
160
+ updateEnvironmentStub.resolves({ status: 200 });
161
+ yield (0, updateenvironment_1.updateEnvironment)("http://test-server", "test-environment", {
162
+ gitModeling: "true",
163
+ gitRepositoryOwner: "credible-data-repos",
164
+ gitRepositoryName: "models",
165
+ gitBaseBranch: "main",
166
+ }, false, true);
167
+ (0, chai_1.expect)(updateEnvironmentStub.firstCall.args[2]).to.deep.equal({
168
+ gitModelingEnabled: true,
169
+ gitRepositoryOwner: "credible-data-repos",
170
+ gitRepositoryName: "models",
171
+ gitBaseBranch: "main",
172
+ });
173
+ }));
174
+ it("reports a refusal from the server rather than claiming success", () => __awaiter(void 0, void 0, void 0, function* () {
175
+ updateEnvironmentStub.rejects(Object.assign(new Error("Request failed with status code 400"), {
176
+ response: {
177
+ status: 400,
178
+ data: { code: "GIT_REPOSITORY_NOT_REGISTERED" },
179
+ },
180
+ }));
181
+ yield (0, updateenvironment_1.updateEnvironment)("http://test-server", "test-environment", { gitModeling: "true" }, false, true);
182
+ (0, chai_1.expect)(loggerStub.error.calledWith(sinon_1.default.match("Failed to update environment test-environment"))).to.be.true;
183
+ (0, chai_1.expect)(loggerStub.info.calledWith(sinon_1.default.match("Successfully updated"))).to.be.false;
184
+ }));
185
+ });
186
+ describe("replication count validation", () => {
187
+ it("should accept valid replication counts", () => __awaiter(void 0, void 0, void 0, function* () {
188
+ const mockResponse = { status: 200 };
189
+ updateEnvironmentStub.resolves(mockResponse);
190
+ const validCounts = [1, 2, 5, 10, 100];
191
+ for (const count of validCounts) {
192
+ yield (0, updateenvironment_1.updateEnvironment)("http://test-server", "test-environment", { replicationCount: count }, false, true);
193
+ (0, chai_1.expect)(updateEnvironmentStub.called).to.be.true;
194
+ (0, chai_1.expect)(updateEnvironmentStub.firstCall.args[2]).to.include({
195
+ replicationCount: count,
196
+ });
197
+ updateEnvironmentStub.reset();
198
+ }
199
+ }));
200
+ it("should reject replication count less than 1", () => __awaiter(void 0, void 0, void 0, function* () {
201
+ yield (0, updateenvironment_1.updateEnvironment)("http://test-server", "test-environment", { replicationCount: 0 }, false, true);
202
+ (0, chai_1.expect)(updateEnvironmentStub.called).to.be.false;
203
+ (0, chai_1.expect)(loggerStub.error.calledWith(sinon_1.default.match("Replication count must be at least 1"))).to.be.true;
204
+ }));
205
+ it("should reject negative replication count", () => __awaiter(void 0, void 0, void 0, function* () {
206
+ yield (0, updateenvironment_1.updateEnvironment)("http://test-server", "test-environment", { replicationCount: -1 }, false, true);
207
+ (0, chai_1.expect)(updateEnvironmentStub.called).to.be.false;
208
+ (0, chai_1.expect)(loggerStub.error.calledWith(sinon_1.default.match("Replication count must be at least 1"))).to.be.true;
209
+ }));
210
+ });
211
+ });
212
+ });
213
+ //# sourceMappingURL=updateenvironment.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updateenvironment.spec.js","sourceRoot":"","sources":["../../../src/commands/environment/updateenvironment.spec.ts"],"names":[],"mappings":"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"}
@@ -3,18 +3,33 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.registerGetCommands = void 0;
4
4
  const constants_1 = require("../constants");
5
5
  const getgroup_1 = require("./group/getgroup");
6
- const getproject_1 = require("./project/getproject");
6
+ const getenvironment_1 = require("./environment/getenvironment");
7
+ const getmaterialization_1 = require("./materialization/getmaterialization");
8
+ const getindex_1 = require("./materialization/getindex");
9
+ const getpreaggregate_1 = require("./materialization/getpreaggregate");
10
+ const getrun_1 = require("./materialization/getrun");
11
+ const legacy_1 = require("./legacy");
12
+ const getpermission_1 = require("./permission/getpermission");
7
13
  const registerGetCommands = (cli, environment) => {
8
14
  const get = cli
9
15
  .command("get")
10
16
  .description("Get a resource")
11
- .argument("<resource>", "The resource to get (project | group)");
17
+ .argument("<resource>", "The resource to get (environment | group | permission | materialization | index | preaggregate | run)");
18
+ const getEnvironmentAction = (environmentName, options) => {
19
+ (0, getenvironment_1.getEnvironment)(constants_1.controlPlanesByEnv[environment], environmentName, options.debug);
20
+ };
21
+ get.command("environment")
22
+ .description("Get an environment by name.")
23
+ .argument("<environmentName>", "The name of the environment to get.")
24
+ .option("--debug")
25
+ .action(getEnvironmentAction);
12
26
  get.command("project")
13
- .description("Get a project by name.")
14
- .argument("<projectName>", "The name of the project to get.")
27
+ .description("[deprecated] Alias for 'get environment'.")
28
+ .argument("<projectName>", "The name of the environment to get.")
15
29
  .option("--debug")
16
30
  .action((projectName, options) => {
17
- (0, getproject_1.getProject)(constants_1.controlPlanesByEnv[environment], projectName, options.debug);
31
+ (0, legacy_1.warnProjectDeprecated)("get environment");
32
+ getEnvironmentAction(projectName, options);
18
33
  });
19
34
  get.command("group")
20
35
  .description("Get a group by name.")
@@ -23,6 +38,52 @@ const registerGetCommands = (cli, environment) => {
23
38
  .action((groupName, options) => {
24
39
  (0, getgroup_1.getGroup)(constants_1.controlPlanesByEnv[environment], groupName, options.debug);
25
40
  });
41
+ get.command("permission")
42
+ .description("Get a user or group's permission on the organization, an environment, or a package.")
43
+ .argument("<userGroupId>", "Whose permission to get [user:{email}|group:{groupName}|user:*]")
44
+ .option("--environment <environmentName>", "Get the permission on this environment instead of the organization.")
45
+ .option("--package <packageName>", "Get the permission on this package. Uses --environment, or the current environment.")
46
+ .option("--debug")
47
+ .action((userGroupId, options) => {
48
+ (0, getpermission_1.getPermission)(constants_1.controlPlanesByEnv[environment], userGroupId, options.debug || false, { environment: options.environment, package: options.package });
49
+ });
50
+ get.command("materialization")
51
+ .alias("mat")
52
+ .description("Get a materialization anchor by id (status, physical table + connection, serving build, freshness, staleness).")
53
+ .argument("<packageName>", "The package that owns the materialization.")
54
+ .argument("<versionId>", "The version that binds it (e.g. 0.1.21).")
55
+ .argument("<materializationId>", "The materialization id.")
56
+ .option("--debug")
57
+ .action((packageName, versionId, materializationId, options) => {
58
+ (0, getmaterialization_1.getMaterialization)(constants_1.controlPlanesByEnv[environment], packageName, versionId, materializationId, options.debug);
59
+ });
60
+ get.command("index")
61
+ .description("Get a dimensional index anchor by id (status, row count, lastIndexedAt, freshness, staleness).")
62
+ .argument("<packageName>", "The package that owns the index.")
63
+ .argument("<versionId>", "The version that binds it (e.g. 0.1.21).")
64
+ .argument("<indexId>", "The index (binding) id.")
65
+ .option("--debug")
66
+ .action((packageName, versionId, indexId, options) => {
67
+ (0, getindex_1.getIndex)(constants_1.controlPlanesByEnv[environment], packageName, versionId, indexId, options.debug);
68
+ });
69
+ get.command("preaggregate")
70
+ .alias("preagg")
71
+ .description("Get a pre-aggregated measure by id (status, grain, row count, lastBuiltAt, freshness, staleness).")
72
+ .argument("<packageName>", "The package that owns the pre-aggregation.")
73
+ .argument("<versionId>", "The version that binds it (e.g. 0.1.21).")
74
+ .argument("<preaggregateId>", "The pre-aggregation id, as printed by `cred ls preaggregate`. It addresses a measure within a rollup — do not construct one by hand.")
75
+ .option("--debug")
76
+ .action((packageName, versionId, preaggregateId, options) => {
77
+ (0, getpreaggregate_1.getPreaggregate)(constants_1.controlPlanesByEnv[environment], packageName, versionId, preaggregateId, options.debug);
78
+ });
79
+ get.command("run")
80
+ .description("Get a run by id, including its build-plan graph (per-unit state, physical table names, row counts).")
81
+ .argument("<packageName>", "The package that owns the run.")
82
+ .argument("<runId>", "The run id.")
83
+ .option("--debug")
84
+ .action((packageName, runId, options) => {
85
+ (0, getrun_1.getRun)(constants_1.controlPlanesByEnv[environment], packageName, runId, options.debug);
86
+ });
26
87
  };
27
88
  exports.registerGetCommands = registerGetCommands;
28
89
  //# sourceMappingURL=get.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"get.js","sourceRoot":"","sources":["../../src/commands/get.ts"],"names":[],"mappings":";;;AACA,4CAA+D;AAC/D,+CAA4C;AAC5C,qDAAkD;AAE3C,MAAM,mBAAmB,GAAG,CAAC,GAAY,EAAE,WAAwB,EAAE,EAAE;IAC3E,MAAM,GAAG,GAAG,GAAG;SACX,OAAO,CAAC,KAAK,CAAC;SACd,WAAW,CAAC,gBAAgB,CAAC;SAC7B,QAAQ,CAAC,YAAY,EAAE,uCAAuC,CAAC,CAAC;IAEpE,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,wBAAwB,CAAC;SACrC,QAAQ,CAAC,eAAe,EAAE,iCAAiC,CAAC;SAC5D,MAAM,CAAC,SAAS,CAAC;SACjB,MAAM,CAAC,CAAC,WAAW,EAAE,OAAO,EAAE,EAAE;QAC9B,IAAA,uBAAU,EACP,8BAAkB,CAAC,WAAW,CAAC,EAC/B,WAAW,EACX,OAAO,CAAC,KAAK,CACf,CAAC;IACL,CAAC,CAAC,CAAC;IAEN,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,sBAAsB,CAAC;SACnC,QAAQ,CAAC,aAAa,EAAE,+BAA+B,CAAC;SACxD,MAAM,CAAC,SAAS,CAAC;SACjB,MAAM,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE;QAC5B,IAAA,mBAAQ,EAAC,8BAAkB,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;AACT,CAAC,CAAC;AAzBW,QAAA,mBAAmB,uBAyB9B"}
1
+ {"version":3,"file":"get.js","sourceRoot":"","sources":["../../src/commands/get.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.warnProjectDeprecated = void 0;
4
+ const logger_1 = require("../logger");
5
+ const warnProjectDeprecated = (newCommand) => {
6
+ logger_1.logger.warn(`'project' is deprecated; use '${newCommand}' instead.`);
7
+ };
8
+ exports.warnProjectDeprecated = warnProjectDeprecated;
9
+ //# sourceMappingURL=legacy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"legacy.js","sourceRoot":"","sources":["../../src/commands/legacy.ts"],"names":[],"mappings":";;;AAAA,sCAAmC;AAE5B,MAAM,qBAAqB,GAAG,CAAC,UAAkB,EAAE,EAAE;IACzD,eAAM,CAAC,IAAI,CAAC,iCAAiC,UAAU,YAAY,CAAC,CAAC;AACxE,CAAC,CAAC;AAFW,QAAA,qBAAqB,yBAEhC"}
@@ -7,22 +7,40 @@ const listconnections_1 = require("./connection/listconnections");
7
7
  const listgroups_1 = require("./group/listgroups");
8
8
  const listTokens_1 = require("./groupaccesstoken/listTokens");
9
9
  const listpackages_1 = require("./package/listpackages");
10
- const listprojects_1 = require("./project/listprojects");
10
+ const listenvironments_1 = require("./environment/listenvironments");
11
11
  const listversions_1 = require("./version/listversions");
12
+ const listmaterializations_1 = require("./materialization/listmaterializations");
13
+ const listindexes_1 = require("./materialization/listindexes");
14
+ const listpreaggregates_1 = require("./materialization/listpreaggregates");
15
+ const listruns_1 = require("./materialization/listruns");
16
+ const legacy_1 = require("./legacy");
17
+ const listpermissions_1 = require("./permission/listpermissions");
12
18
  const registerListCommands = (cli, environment) => {
13
19
  const list = cli
14
20
  .command("ls")
15
21
  .description("List resources of a given type")
16
22
  .argument("<resource>", "The resource to list");
23
+ const listEnvironmentsAction = (options) => {
24
+ (0, listenvironments_1.printOutEnvironments)(constants_1.controlPlanesByEnv[environment], options.debug, options.page, options.pageSize);
25
+ };
26
+ list
27
+ .command("environment")
28
+ .alias("environments")
29
+ .description("List all environments.")
30
+ .option("--debug")
31
+ .option("--page <number>", `Page number (starts at ${utils_1.DEFAULT_PAGE})`, String(utils_1.DEFAULT_PAGE))
32
+ .option("--page-size <number>", `Items per page (default: all records, max: 500)`, String(utils_1.DEFAULT_PAGE_SIZE))
33
+ .action(listEnvironmentsAction);
17
34
  list
18
35
  .command("project")
19
36
  .alias("projects")
20
- .description("List all projects.")
37
+ .description("[deprecated] Alias for 'ls environment'.")
21
38
  .option("--debug")
22
39
  .option("--page <number>", `Page number (starts at ${utils_1.DEFAULT_PAGE})`, String(utils_1.DEFAULT_PAGE))
23
40
  .option("--page-size <number>", `Items per page (default: all records, max: 500)`, String(utils_1.DEFAULT_PAGE_SIZE))
24
41
  .action((options) => {
25
- (0, listprojects_1.printOutProjects)(constants_1.controlPlanesByEnv[environment], options.debug, options.page, options.pageSize);
42
+ (0, legacy_1.warnProjectDeprecated)("ls environment");
43
+ listEnvironmentsAction(options);
26
44
  });
27
45
  list
28
46
  .command("connection")
@@ -37,7 +55,7 @@ const registerListCommands = (cli, environment) => {
37
55
  list
38
56
  .command("package")
39
57
  .alias("packages")
40
- .description("List the packages in the active project.")
58
+ .description("List the packages in the active environment.")
41
59
  .option("--debug")
42
60
  .option("--page <number>", `Page number (starts at ${utils_1.DEFAULT_PAGE})`, String(utils_1.DEFAULT_PAGE))
43
61
  .option("--page-size <number>", `Items per page (default: all records, max: 500)`, String(utils_1.DEFAULT_PAGE_SIZE))
@@ -53,6 +71,79 @@ const registerListCommands = (cli, environment) => {
53
71
  .action((packageName, options) => {
54
72
  (0, listversions_1.listVersions)(constants_1.controlPlanesByEnv[environment], packageName, options.debug);
55
73
  });
74
+ list
75
+ .command("materialization")
76
+ .alias("materializations")
77
+ .description("List the materializations of a package version (status + failure reason).")
78
+ .argument("<packageName>", "The name of the package whose materializations to list.")
79
+ .argument("<versionId>", "The version that binds the materializations (e.g. 0.1.21).")
80
+ .option("--debug")
81
+ .action((packageName, versionId, options) => {
82
+ (0, listmaterializations_1.listMaterializations)(constants_1.controlPlanesByEnv[environment], packageName, versionId, options.debug);
83
+ });
84
+ list
85
+ .command("index")
86
+ .alias("indexes")
87
+ .description("List the dimensional search indexes of a package version (status + failure reason + freshness).")
88
+ .argument("<packageName>", "The name of the package whose indexes to list.")
89
+ .argument("<versionId>", "The version that binds the indexes (e.g. 0.1.21).")
90
+ .option("--debug")
91
+ // No static defaults: a Commander default of "-1" for --page-size would make it
92
+ // always-set, so parsePaginationParams takes its "return all records" branch and
93
+ // silently ignores a lone --page N. Leaving both unset (undefined) preserves the
94
+ // all-records default (neither flag → branch 1) while letting --page N default the
95
+ // page size to a finite page (utils.parsePaginationParams).
96
+ .option("--page <number>", `Page number (starts at ${utils_1.DEFAULT_PAGE})`)
97
+ .option("--page-size <number>", `Items per page (default: all records, max: 500)`)
98
+ .action((packageName, versionId, options) => {
99
+ (0, listindexes_1.listIndexes)(constants_1.controlPlanesByEnv[environment], packageName, versionId, options.debug, options.page, options.pageSize);
100
+ });
101
+ list
102
+ .command("preaggregate")
103
+ .alias("preaggregates")
104
+ .alias("preaggs")
105
+ .description("List the pre-aggregated measures of a package version (status + failure reason + grain + freshness). One entry per measure, so several may share a rollup table.")
106
+ .argument("<packageName>", "The name of the package whose pre-aggregations to list.")
107
+ .argument("<versionId>", "The version that binds the pre-aggregations (e.g. 0.1.21).")
108
+ .option("--debug")
109
+ .option("--source <sourceName>", "Only list the pre-aggregated measures of this authored source.")
110
+ // No static defaults — see the note on `ls index` above.
111
+ .option("--page <number>", `Page number (starts at ${utils_1.DEFAULT_PAGE})`)
112
+ .option("--page-size <number>", `Items per page (default: all records, max: 500)`)
113
+ .action((packageName, versionId, options) => {
114
+ (0, listpreaggregates_1.listPreaggregates)(constants_1.controlPlanesByEnv[environment], packageName, versionId, options.source, options.debug, options.page, options.pageSize);
115
+ });
116
+ list
117
+ .command("run")
118
+ .alias("runs")
119
+ .description("List the build/refresh runs of a package (most recent first). Runs are package-scoped and span all three families (materialized sources, dimensional indexes and pre-aggregations); pass a version to filter to the runs it initiated, or --source/--dimension/--measure to filter to a targeted unit.")
120
+ .argument("<packageName>", "The name of the package whose runs to list.")
121
+ .argument("[versionId]", "Optional version to filter runs to (e.g. 0.1.21). Omit to list every run in the package.")
122
+ .option("--debug")
123
+ .option("--source <sourceName>", "Only list runs targeting this persist source.")
124
+ .option("--dimension <dimension>", "Only list runs targeting this indexed dimension.")
125
+ .option("--measure <measure>", "Only list runs targeting this pre-aggregated measure.")
126
+ // No static defaults — see the note on `ls index` above: a "-1" --page-size default
127
+ // makes parsePaginationParams ignore a lone --page N. Undefined keeps the all-records
128
+ // default while honoring --page N.
129
+ .option("--page <number>", `Page number (starts at ${utils_1.DEFAULT_PAGE})`)
130
+ .option("--page-size <number>", `Items per page (default: all records, max: 500)`)
131
+ .action((packageName, versionId, options) => {
132
+ (0, listruns_1.listRuns)(constants_1.controlPlanesByEnv[environment], packageName, versionId, options.debug, options.source, options.dimension, options.measure, options.page, options.pageSize);
133
+ });
134
+ list
135
+ .command("permission")
136
+ .alias("permissions")
137
+ .description("List the permissions on the organization, an environment, or a package.")
138
+ .option("--environment <environmentName>", "List this environment's permissions instead of the organization's.")
139
+ .option("--package <packageName>", "List this package's permissions. Uses --environment, or the current environment.")
140
+ .option("--debug")
141
+ .action((options) => {
142
+ (0, listpermissions_1.listPermissions)(constants_1.controlPlanesByEnv[environment], options.debug, {
143
+ environment: options.environment,
144
+ package: options.package,
145
+ });
146
+ });
56
147
  list
57
148
  .command("group")
58
149
  .alias("groups")
@@ -1 +1 @@
1
- {"version":3,"file":"list.js","sourceRoot":"","sources":["../../src/commands/list.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../src/commands/list.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.cancelRun = cancelRun;
13
+ const api_1 = require("../../client/api");
14
+ const configuration_1 = require("../../client/configuration");
15
+ const clientconfiguration_1 = require("../../clientconfiguration");
16
+ const logger_1 = require("../../logger");
17
+ const utils_1 = require("../../utils");
18
+ const runsApi = new api_1.RunsApi(new configuration_1.Configuration());
19
+ /**
20
+ * Cancel an in-flight (non-terminal) build/refresh run. No-op-safe: the control
21
+ * plane returns 409 if the run is already terminal. Prints the run's updated
22
+ * state.
23
+ */
24
+ function cancelRun(controlPlane, packagePath, runId, debug, autoConfirm) {
25
+ return __awaiter(this, void 0, void 0, function* () {
26
+ const clientConfig = new clientconfiguration_1.ClientConfiguration();
27
+ const organizationName = clientConfig.getOrganization();
28
+ const environmentName = clientConfig.getProject();
29
+ if (!clientConfig.doesConfigExists()) {
30
+ logger_1.logger.error("Please, make sure that you are logged in");
31
+ return;
32
+ }
33
+ if (!environmentName) {
34
+ logger_1.logger.error("Please, make sure to set an environment");
35
+ return;
36
+ }
37
+ if (!runId) {
38
+ logger_1.logger.error("Please provide a run ID");
39
+ return;
40
+ }
41
+ const packageName = packagePath.replace("/", "");
42
+ if (!autoConfirm) {
43
+ const confirmation = yield (0, utils_1.getConfirmation)(`Cancel run ${runId} in ${packageName}?`);
44
+ if (!confirmation) {
45
+ return;
46
+ }
47
+ }
48
+ logger_1.logger.info(`Cancelling run ${runId} in ${packageName}`);
49
+ try {
50
+ const response = yield runsApi.runAction(organizationName, environmentName, packageName, runId, api_1.RunActionActionEnum.Cancel, {
51
+ baseURL: controlPlane,
52
+ headers: clientConfig.getHeaders(),
53
+ });
54
+ console.log((0, utils_1.prettifyJson)(response.data));
55
+ }
56
+ catch (e) {
57
+ logger_1.logger.error("Failed to cancel run");
58
+ (0, utils_1.printOutError)(e, debug);
59
+ }
60
+ });
61
+ }
62
+ //# sourceMappingURL=cancelrun.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cancelrun.js","sourceRoot":"","sources":["../../../src/commands/materialization/cancelrun.ts"],"names":[],"mappings":";;;;;;;;;;;AAaA,8BAwDC;AArED,0CAAgE;AAChE,8DAA2D;AAC3D,mEAAgE;AAChE,yCAAsC;AACtC,uCAA2E;AAE3E,MAAM,OAAO,GAAG,IAAI,aAAO,CAAC,IAAI,6BAAa,EAAE,CAAC,CAAC;AAEjD;;;;GAIG;AACH,SAAsB,SAAS,CAC5B,YAAoB,EACpB,WAAmB,EACnB,KAAa,EACb,KAAc,EACd,WAAoB;;QAEpB,MAAM,YAAY,GAAG,IAAI,yCAAmB,EAAE,CAAC;QAC/C,MAAM,gBAAgB,GAAG,YAAY,CAAC,eAAe,EAAE,CAAC;QACxD,MAAM,eAAe,GAAG,YAAY,CAAC,UAAU,EAAE,CAAC;QAElD,IAAI,CAAC,YAAY,CAAC,gBAAgB,EAAE,EAAE,CAAC;YACpC,eAAM,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;YACzD,OAAO;QACV,CAAC;QAED,IAAI,CAAC,eAAe,EAAE,CAAC;YACpB,eAAM,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;YACxD,OAAO;QACV,CAAC;QAED,IAAI,CAAC,KAAK,EAAE,CAAC;YACV,eAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;YACxC,OAAO;QACV,CAAC;QAED,MAAM,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAEjD,IAAI,CAAC,WAAW,EAAE,CAAC;YAChB,MAAM,YAAY,GAAG,MAAM,IAAA,uBAAe,EACvC,cAAc,KAAK,OAAO,WAAW,GAAG,CAC1C,CAAC;YACF,IAAI,CAAC,YAAY,EAAE,CAAC;gBACjB,OAAO;YACV,CAAC;QACJ,CAAC;QAED,eAAM,CAAC,IAAI,CAAC,kBAAkB,KAAK,OAAO,WAAW,EAAE,CAAC,CAAC;QACzD,IAAI,CAAC;YACF,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,SAAS,CACrC,gBAAgB,EAChB,eAAe,EACf,WAAW,EACX,KAAK,EACL,yBAAmB,CAAC,MAAM,EAC1B;gBACG,OAAO,EAAE,YAAY;gBACrB,OAAO,EAAE,YAAY,CAAC,UAAU,EAAE;aACpC,CACH,CAAC;YAEF,OAAO,CAAC,GAAG,CAAC,IAAA,oBAAY,EAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5C,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACV,eAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;YACrC,IAAA,qBAAa,EAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC3B,CAAC;IACJ,CAAC;CAAA"}