alchemy 0.71.1 → 0.72.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.
- package/bin/alchemy.js +1 -1
- package/lib/planetscale/api.d.ts +0 -4
- package/lib/planetscale/api.d.ts.map +1 -1
- package/lib/planetscale/api.js.map +1 -1
- package/lib/planetscale/branch.d.ts +12 -11
- package/lib/planetscale/branch.d.ts.map +1 -1
- package/lib/planetscale/branch.js +40 -23
- package/lib/planetscale/branch.js.map +1 -1
- package/lib/planetscale/database.d.ts +10 -5
- package/lib/planetscale/database.d.ts.map +1 -1
- package/lib/planetscale/database.js +30 -18
- package/lib/planetscale/database.js.map +1 -1
- package/lib/planetscale/index.d.ts +1 -0
- package/lib/planetscale/index.d.ts.map +1 -1
- package/lib/planetscale/index.js +1 -0
- package/lib/planetscale/index.js.map +1 -1
- package/lib/planetscale/organization.d.ts +5 -0
- package/lib/planetscale/organization.d.ts.map +1 -0
- package/lib/planetscale/organization.js +11 -0
- package/lib/planetscale/organization.js.map +1 -0
- package/lib/planetscale/password.d.ts +10 -9
- package/lib/planetscale/password.d.ts.map +1 -1
- package/lib/planetscale/password.js +28 -13
- package/lib/planetscale/password.js.map +1 -1
- package/lib/planetscale/role.d.ts +2 -1
- package/lib/planetscale/role.d.ts.map +1 -1
- package/lib/planetscale/role.js +11 -8
- package/lib/planetscale/role.js.map +1 -1
- package/package.json +1 -1
- package/src/planetscale/api.ts +0 -4
- package/src/planetscale/branch.ts +51 -35
- package/src/planetscale/database.ts +40 -20
- package/src/planetscale/index.ts +1 -0
- package/src/planetscale/organization.ts +17 -0
- package/src/planetscale/password.ts +34 -16
- package/src/planetscale/role.ts +16 -9
- package/workers/tunnel-proxy.js +1 -1
|
@@ -16,8 +16,9 @@ export interface PasswordProps extends PlanetScaleProps {
|
|
|
16
16
|
/**
|
|
17
17
|
* The organization ID where the password will be created
|
|
18
18
|
* Required when using string database name, optional when using Database or Branch resource
|
|
19
|
+
* @default process.env.PLANETSCALE_ORGANIZATION
|
|
19
20
|
*/
|
|
20
|
-
|
|
21
|
+
organization?: string;
|
|
21
22
|
/**
|
|
22
23
|
* The database where the password will be created
|
|
23
24
|
* Can be either a database name (string) or Database resource
|
|
@@ -94,7 +95,7 @@ export interface Password extends PasswordProps {
|
|
|
94
95
|
*
|
|
95
96
|
* const readerPassword = await Password("app-reader", {
|
|
96
97
|
* name: "app-reader",
|
|
97
|
-
*
|
|
98
|
+
* organization: "my-org",
|
|
98
99
|
* database: "my-app-db",
|
|
99
100
|
* branch: "main",
|
|
100
101
|
* role: "reader"
|
|
@@ -116,7 +117,7 @@ export interface Password extends PasswordProps {
|
|
|
116
117
|
*
|
|
117
118
|
* const writerPassword = await Password("app-writer", {
|
|
118
119
|
* name: "app-writer",
|
|
119
|
-
*
|
|
120
|
+
* organization: "my-org",
|
|
120
121
|
* database: "my-app-db",
|
|
121
122
|
* branch: "development",
|
|
122
123
|
* role: "writer",
|
|
@@ -137,7 +138,7 @@ export interface Password extends PasswordProps {
|
|
|
137
138
|
*
|
|
138
139
|
* const adminPassword = await Password("admin-access", {
|
|
139
140
|
* name: "admin-access",
|
|
140
|
-
*
|
|
141
|
+
* organization: "my-org",
|
|
141
142
|
* database: "my-app-db",
|
|
142
143
|
* branch: "main",
|
|
143
144
|
* role: "admin",
|
|
@@ -156,7 +157,7 @@ export interface Password extends PasswordProps {
|
|
|
156
157
|
*
|
|
157
158
|
* const password = await Password("custom-auth", {
|
|
158
159
|
* name: "custom-auth",
|
|
159
|
-
*
|
|
160
|
+
* organization: "my-org",
|
|
160
161
|
* database: "my-app-db",
|
|
161
162
|
* branch: "main",
|
|
162
163
|
* role: "readwriter",
|
|
@@ -174,7 +175,7 @@ export interface Password extends PasswordProps {
|
|
|
174
175
|
*
|
|
175
176
|
* const replicaPassword = await Password("replica-reader", {
|
|
176
177
|
* name: "replica-reader",
|
|
177
|
-
*
|
|
178
|
+
* organization: "my-org",
|
|
178
179
|
* database: "my-app-db",
|
|
179
180
|
* branch: "main",
|
|
180
181
|
* role: "reader",
|
|
@@ -191,7 +192,7 @@ export interface Password extends PasswordProps {
|
|
|
191
192
|
*
|
|
192
193
|
* const database = await Database("my-db", {
|
|
193
194
|
* name: "my-app-db",
|
|
194
|
-
*
|
|
195
|
+
* organization: "my-org",
|
|
195
196
|
* clusterSize: "PS_10"
|
|
196
197
|
* });
|
|
197
198
|
*
|
|
@@ -212,13 +213,13 @@ export interface Password extends PasswordProps {
|
|
|
212
213
|
*
|
|
213
214
|
* const database = await Database("my-db", {
|
|
214
215
|
* name: "my-app-db",
|
|
215
|
-
*
|
|
216
|
+
* organization: "my-org",
|
|
216
217
|
* clusterSize: "PS_10"
|
|
217
218
|
* });
|
|
218
219
|
*
|
|
219
220
|
* const branch = await Branch("feature-branch", {
|
|
220
221
|
* name: "feature-branch",
|
|
221
|
-
*
|
|
222
|
+
* organization: "my-org",
|
|
222
223
|
* databaseName: "my-app-db",
|
|
223
224
|
* parentBranch: "main",
|
|
224
225
|
* isProduction: false
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"password.d.ts","sourceRoot":"","sources":["../../src/planetscale/password.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAE7C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAG3C,OAAO,EAA2B,KAAK,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC1E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C;;GAEG;AACH,MAAM,WAAW,aAAc,SAAQ,gBAAgB;IACrD;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd
|
|
1
|
+
{"version":3,"file":"password.d.ts","sourceRoot":"","sources":["../../src/planetscale/password.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAE7C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAG3C,OAAO,EAA2B,KAAK,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC1E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C;;GAEG;AACH,MAAM,WAAW,aAAc,SAAQ,gBAAgB;IACrD;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;OAGG;IACH,QAAQ,EAAE,MAAM,GAAG,QAAQ,CAAC;IAE5B;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAEzB;;OAEG;IACH,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,YAAY,CAAC;IAEnD;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,QAAS,SAAQ,aAAa;IAC7C;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAEzB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyJG;AACH,eAAO,MAAM,QAAQ,yFAGX,OAAO,CAAC,QAAQ,CAAC,MACnB,MAAM,SACH,aAAa,KACnB,OAAO,CAAC,QAAQ,CAAC,CAkHrB,CAAC"}
|
|
@@ -18,7 +18,7 @@ import { createPlanetScaleClient } from "./api.js";
|
|
|
18
18
|
*
|
|
19
19
|
* const readerPassword = await Password("app-reader", {
|
|
20
20
|
* name: "app-reader",
|
|
21
|
-
*
|
|
21
|
+
* organization: "my-org",
|
|
22
22
|
* database: "my-app-db",
|
|
23
23
|
* branch: "main",
|
|
24
24
|
* role: "reader"
|
|
@@ -40,7 +40,7 @@ import { createPlanetScaleClient } from "./api.js";
|
|
|
40
40
|
*
|
|
41
41
|
* const writerPassword = await Password("app-writer", {
|
|
42
42
|
* name: "app-writer",
|
|
43
|
-
*
|
|
43
|
+
* organization: "my-org",
|
|
44
44
|
* database: "my-app-db",
|
|
45
45
|
* branch: "development",
|
|
46
46
|
* role: "writer",
|
|
@@ -61,7 +61,7 @@ import { createPlanetScaleClient } from "./api.js";
|
|
|
61
61
|
*
|
|
62
62
|
* const adminPassword = await Password("admin-access", {
|
|
63
63
|
* name: "admin-access",
|
|
64
|
-
*
|
|
64
|
+
* organization: "my-org",
|
|
65
65
|
* database: "my-app-db",
|
|
66
66
|
* branch: "main",
|
|
67
67
|
* role: "admin",
|
|
@@ -80,7 +80,7 @@ import { createPlanetScaleClient } from "./api.js";
|
|
|
80
80
|
*
|
|
81
81
|
* const password = await Password("custom-auth", {
|
|
82
82
|
* name: "custom-auth",
|
|
83
|
-
*
|
|
83
|
+
* organization: "my-org",
|
|
84
84
|
* database: "my-app-db",
|
|
85
85
|
* branch: "main",
|
|
86
86
|
* role: "readwriter",
|
|
@@ -98,7 +98,7 @@ import { createPlanetScaleClient } from "./api.js";
|
|
|
98
98
|
*
|
|
99
99
|
* const replicaPassword = await Password("replica-reader", {
|
|
100
100
|
* name: "replica-reader",
|
|
101
|
-
*
|
|
101
|
+
* organization: "my-org",
|
|
102
102
|
* database: "my-app-db",
|
|
103
103
|
* branch: "main",
|
|
104
104
|
* role: "reader",
|
|
@@ -115,7 +115,7 @@ import { createPlanetScaleClient } from "./api.js";
|
|
|
115
115
|
*
|
|
116
116
|
* const database = await Database("my-db", {
|
|
117
117
|
* name: "my-app-db",
|
|
118
|
-
*
|
|
118
|
+
* organization: "my-org",
|
|
119
119
|
* clusterSize: "PS_10"
|
|
120
120
|
* });
|
|
121
121
|
*
|
|
@@ -136,13 +136,13 @@ import { createPlanetScaleClient } from "./api.js";
|
|
|
136
136
|
*
|
|
137
137
|
* const database = await Database("my-db", {
|
|
138
138
|
* name: "my-app-db",
|
|
139
|
-
*
|
|
139
|
+
* organization: "my-org",
|
|
140
140
|
* clusterSize: "PS_10"
|
|
141
141
|
* });
|
|
142
142
|
*
|
|
143
143
|
* const branch = await Branch("feature-branch", {
|
|
144
144
|
* name: "feature-branch",
|
|
145
|
-
*
|
|
145
|
+
* organization: "my-org",
|
|
146
146
|
* databaseName: "my-app-db",
|
|
147
147
|
* parentBranch: "main",
|
|
148
148
|
* isProduction: false
|
|
@@ -163,15 +163,30 @@ export const Password = Resource("planetscale::Password", async function (id, pr
|
|
|
163
163
|
: (this.output?.nameSlug ?? lowercaseId());
|
|
164
164
|
const name = `${(props.name ?? this.output?.name ?? this.scope.createPhysicalName(id)).toLowerCase()}-${nameSlug}`;
|
|
165
165
|
const api = createPlanetScaleClient(props);
|
|
166
|
-
|
|
166
|
+
if (!props.organization && typeof props.database === "string") {
|
|
167
|
+
throw new Error("Organization ID is required when using string database name");
|
|
168
|
+
}
|
|
169
|
+
const organization =
|
|
170
|
+
// @ts-expect-error - organizationId is a legacy thing, we keep this so we can destroy
|
|
171
|
+
this.output?.organizationId ??
|
|
172
|
+
props.organization ??
|
|
173
|
+
(typeof props.database !== "string"
|
|
174
|
+
? props.database.organization
|
|
175
|
+
: typeof props.branch !== "string" && props.branch
|
|
176
|
+
? props.branch.organization
|
|
177
|
+
: (process.env.PLANETSCALE_ORGANIZATION ??
|
|
178
|
+
process.env.PLANETSCALE_ORG_ID));
|
|
179
|
+
const database =
|
|
180
|
+
// @ts-expect-error - databaseName is a legacy thing, we keep this so we can destroy
|
|
181
|
+
this.output?.databaseName ??
|
|
182
|
+
(typeof props.database === "string"
|
|
183
|
+
? props.database
|
|
184
|
+
: props.database.name);
|
|
167
185
|
const branch = typeof props.branch === "string"
|
|
168
186
|
? props.branch
|
|
169
187
|
: (props.branch?.name ?? "main");
|
|
170
|
-
const organization = props.organizationId ??
|
|
171
|
-
((typeof props.branch !== "string" && props.branch?.organizationId) ||
|
|
172
|
-
(typeof props.database !== "string" && props.database.organizationId));
|
|
173
188
|
if (!organization) {
|
|
174
|
-
throw new Error("
|
|
189
|
+
throw new Error("PlanetScale organization is required. Please set the `organization` property or the `PLANETSCALE_ORGANIZATION` environment variable.");
|
|
175
190
|
}
|
|
176
191
|
if (this.phase === "delete") {
|
|
177
192
|
if (this.output?.id) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"password.js","sourceRoot":"","sources":["../../src/planetscale/password.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,uBAAuB,EAAyB,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"password.js","sourceRoot":"","sources":["../../src/planetscale/password.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,8 +10,9 @@ export interface RoleProps extends PlanetScaleProps {
|
|
|
10
10
|
/**
|
|
11
11
|
* The organization ID where the role will be created
|
|
12
12
|
* Required when using string database name, optional when using Database resource
|
|
13
|
+
* @default process.env.PLANETSCALE_ORGANIZATION
|
|
13
14
|
*/
|
|
14
|
-
|
|
15
|
+
organization?: string;
|
|
15
16
|
/**
|
|
16
17
|
* The database where the role will be created
|
|
17
18
|
* Can be either a database name (string) or Database resource
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"role.d.ts","sourceRoot":"","sources":["../../src/planetscale/role.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAE7C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3C,OAAO,EAA2B,KAAK,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE1E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAG9C;;GAEG;AACH,MAAM,WAAW,SAAU,SAAQ,gBAAgB;IACjD
|
|
1
|
+
{"version":3,"file":"role.d.ts","sourceRoot":"","sources":["../../src/planetscale/role.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAE7C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3C,OAAO,EAA2B,KAAK,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE1E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAG9C;;GAEG;AACH,MAAM,WAAW,SAAU,SAAQ,gBAAgB;IACjD;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;OAGG;IACH,QAAQ,EAAE,MAAM,GAAG,QAAQ,CAAC;IAE5B;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAEzB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;;;OAIG;IACH,cAAc,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC;CACxC;AAED;;GAEG;AACH,MAAM,MAAM,aAAa,GACrB,UAAU,GACV,eAAe,GACf,wBAAwB,GACxB,aAAa,GACb,YAAY,GACZ,kBAAkB,GAClB,sBAAsB,GACtB,mBAAmB,GACnB,mBAAmB,GACnB,qBAAqB,GACrB,6BAA6B,GAC7B,mBAAmB,GACnB,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAElB,MAAM,WAAW,IAAK,SAAQ,IAAI,CAAC,SAAS,EAAE,gBAAgB,CAAC;IAC7D;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAEzB;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAE9B;;;;OAIG;IACH,mBAAmB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAEpC;;OAEG;IACH,cAAc,EAAE,aAAa,EAAE,CAAC;CACjC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,eAAO,MAAM,IAAI,yFAGP,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,MAC1B,MAAM,SACH,SAAS,KACf,OAAO,CAAC,IAAI,CAAC,CAuHjB,CAAC"}
|
package/lib/planetscale/role.js
CHANGED
|
@@ -44,11 +44,17 @@ import { waitForBranchReady } from "./utils.js";
|
|
|
44
44
|
*/
|
|
45
45
|
export const Role = Resource("planetscale::Role", async function (id, props) {
|
|
46
46
|
const api = createPlanetScaleClient(props);
|
|
47
|
-
const organization =
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
47
|
+
const organization =
|
|
48
|
+
// @ts-expect-error - organizationId is a legacy thing, we keep this so we can destroy
|
|
49
|
+
this.output?.organizationId ??
|
|
50
|
+
props.organization ??
|
|
51
|
+
(typeof props.database !== "string"
|
|
52
|
+
? props.database.organization
|
|
53
|
+
: (process.env.PLANETSCALE_ORGANIZATION ??
|
|
54
|
+
process.env.PLANETSCALE_ORG_ID));
|
|
55
|
+
if (!organization) {
|
|
56
|
+
throw new Error("PlanetScale organization is required. Please set the `organization` property or the `PLANETSCALE_ORGANIZATION` environment variable.");
|
|
57
|
+
}
|
|
52
58
|
const database = typeof props.database === "string" ? props.database : props.database.name;
|
|
53
59
|
const branch = typeof props.branch === "string"
|
|
54
60
|
? props.branch
|
|
@@ -56,9 +62,6 @@ export const Role = Resource("planetscale::Role", async function (id, props) {
|
|
|
56
62
|
const inheritedRoles = Array.isArray(props.inheritedRoles)
|
|
57
63
|
? props.inheritedRoles
|
|
58
64
|
: props.inheritedRoles.inheritedRoles;
|
|
59
|
-
if (!organization) {
|
|
60
|
-
throw new Error("Organization ID is required");
|
|
61
|
-
}
|
|
62
65
|
switch (this.phase) {
|
|
63
66
|
case "delete": {
|
|
64
67
|
if (this.output?.id) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"role.js","sourceRoot":"","sources":["../../src/planetscale/role.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,uBAAuB,EAAyB,MAAM,UAAU,CAAC;AAI1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"role.js","sourceRoot":"","sources":["../../src/planetscale/role.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/planetscale/api.ts
CHANGED
|
@@ -28,10 +28,6 @@ export interface PlanetScaleProps {
|
|
|
28
28
|
* @deprecated Use serviceTokenId and serviceToken instead.
|
|
29
29
|
*/
|
|
30
30
|
apiKey?: Secret;
|
|
31
|
-
/**
|
|
32
|
-
* The organization to use for authentication. Defaults to the value of the PLANETSCALE_ORGANIZATION or PLANETSCALE_ORG_ID environment variable.
|
|
33
|
-
*/
|
|
34
|
-
organizationId?: string;
|
|
35
31
|
}
|
|
36
32
|
|
|
37
33
|
export class PlanetScaleError extends Error {
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { Context } from "../context.ts";
|
|
2
2
|
import { Resource } from "../resource.ts";
|
|
3
3
|
import { createPlanetScaleClient, type PlanetScaleProps } from "./api.ts";
|
|
4
|
+
import type { Database } from "./database.ts";
|
|
4
5
|
import {
|
|
5
6
|
ensureProductionBranchClusterSize,
|
|
6
7
|
sanitizeClusterSize,
|
|
@@ -20,14 +21,14 @@ export interface BranchProps extends PlanetScaleProps {
|
|
|
20
21
|
name?: string;
|
|
21
22
|
|
|
22
23
|
/**
|
|
23
|
-
* The organization
|
|
24
|
+
* The organization name. Automatically inferred from the database if the database is provided as an object.
|
|
24
25
|
*/
|
|
25
|
-
|
|
26
|
+
organization?: string;
|
|
26
27
|
|
|
27
28
|
/**
|
|
28
29
|
* The database name
|
|
29
30
|
*/
|
|
30
|
-
|
|
31
|
+
database: string | Database;
|
|
31
32
|
|
|
32
33
|
/**
|
|
33
34
|
* Whether or not the branch should be set to a production branch or not.
|
|
@@ -114,8 +115,8 @@ export interface Branch extends BranchProps {
|
|
|
114
115
|
* // Create a branch from 'main'
|
|
115
116
|
* const branch = await Branch("feature-123", {
|
|
116
117
|
* name: "feature-123",
|
|
117
|
-
*
|
|
118
|
-
*
|
|
118
|
+
* organization: "my-org",
|
|
119
|
+
* database: "my-database",
|
|
119
120
|
* parentBranch: "main"
|
|
120
121
|
* });
|
|
121
122
|
*
|
|
@@ -123,15 +124,15 @@ export interface Branch extends BranchProps {
|
|
|
123
124
|
* // Create a branch from another branch object
|
|
124
125
|
* const parentBranch = await Branch("staging", {
|
|
125
126
|
* name: "staging",
|
|
126
|
-
*
|
|
127
|
-
*
|
|
127
|
+
* organization: "my-org",
|
|
128
|
+
* database: "my-database",
|
|
128
129
|
* parentBranch: "main"
|
|
129
130
|
* });
|
|
130
131
|
*
|
|
131
132
|
* const featureBranch = await Branch("feature-456", {
|
|
132
133
|
* name: "feature-456",
|
|
133
|
-
*
|
|
134
|
-
*
|
|
134
|
+
* organization: "my-org",
|
|
135
|
+
* database: "my-database",
|
|
135
136
|
* parentBranch: parentBranch // Using Branch object instead of string
|
|
136
137
|
* });
|
|
137
138
|
*
|
|
@@ -139,8 +140,8 @@ export interface Branch extends BranchProps {
|
|
|
139
140
|
* // Create a branch from a backup
|
|
140
141
|
* const branch = await Branch("restored-branch", {
|
|
141
142
|
* name: "restored-branch",
|
|
142
|
-
*
|
|
143
|
-
*
|
|
143
|
+
* organization: "my-org",
|
|
144
|
+
* database: "my-database",
|
|
144
145
|
* parentBranch: "main",
|
|
145
146
|
* backupId: "backup-123",
|
|
146
147
|
* clusterSize: "PS_10"
|
|
@@ -164,6 +165,26 @@ export const Branch = Resource(
|
|
|
164
165
|
: typeof props.parentBranch === "string"
|
|
165
166
|
? props.parentBranch
|
|
166
167
|
: props.parentBranch.name;
|
|
168
|
+
const organization =
|
|
169
|
+
// @ts-expect-error - organizationId is a legacy thing, we keep this so we can destroy
|
|
170
|
+
this.output?.organizationId ??
|
|
171
|
+
props.organization ??
|
|
172
|
+
(typeof props.database !== "string"
|
|
173
|
+
? props.database.organization
|
|
174
|
+
: (process.env.PLANETSCALE_ORGANIZATION ??
|
|
175
|
+
process.env.PLANETSCALE_ORG_ID));
|
|
176
|
+
const database =
|
|
177
|
+
// @ts-expect-error - databaseName is a legacy thing, we keep this so we can destroy
|
|
178
|
+
this.output?.databaseName ??
|
|
179
|
+
(typeof props.database === "string"
|
|
180
|
+
? props.database
|
|
181
|
+
: props.database.name);
|
|
182
|
+
|
|
183
|
+
if (!organization) {
|
|
184
|
+
throw new Error(
|
|
185
|
+
"PlanetScale organization is required. Please set the `organization` property or the `PLANETSCALE_ORGANIZATION` environment variable.",
|
|
186
|
+
);
|
|
187
|
+
}
|
|
167
188
|
|
|
168
189
|
if (this.phase === "update" && this.output.name !== branchName) {
|
|
169
190
|
// TODO(sam): maybe we don't need to replace? just branch again? or rename?
|
|
@@ -174,8 +195,8 @@ export const Branch = Resource(
|
|
|
174
195
|
if (this.output?.name) {
|
|
175
196
|
const response = await api.deleteBranch({
|
|
176
197
|
path: {
|
|
177
|
-
organization
|
|
178
|
-
database
|
|
198
|
+
organization,
|
|
199
|
+
database,
|
|
179
200
|
name: this.output.name,
|
|
180
201
|
},
|
|
181
202
|
throwOnError: false,
|
|
@@ -196,8 +217,8 @@ export const Branch = Resource(
|
|
|
196
217
|
if (typeof props.parentBranch !== "string" && props.parentBranch) {
|
|
197
218
|
await waitForBranchReady(
|
|
198
219
|
api,
|
|
199
|
-
|
|
200
|
-
|
|
220
|
+
organization,
|
|
221
|
+
database,
|
|
201
222
|
props.parentBranch.name,
|
|
202
223
|
);
|
|
203
224
|
}
|
|
@@ -205,8 +226,8 @@ export const Branch = Resource(
|
|
|
205
226
|
// Check if branch exists
|
|
206
227
|
const getResponse = await api.getBranch({
|
|
207
228
|
path: {
|
|
208
|
-
organization
|
|
209
|
-
database
|
|
229
|
+
organization,
|
|
230
|
+
database,
|
|
210
231
|
name: branchName,
|
|
211
232
|
},
|
|
212
233
|
throwOnError: false,
|
|
@@ -256,8 +277,8 @@ export const Branch = Resource(
|
|
|
256
277
|
: "disableSafeMigrations"
|
|
257
278
|
]({
|
|
258
279
|
path: {
|
|
259
|
-
organization
|
|
260
|
-
database
|
|
280
|
+
organization,
|
|
281
|
+
database,
|
|
261
282
|
name: branchName,
|
|
262
283
|
},
|
|
263
284
|
});
|
|
@@ -279,8 +300,8 @@ export const Branch = Resource(
|
|
|
279
300
|
}
|
|
280
301
|
await ensureProductionBranchClusterSize(
|
|
281
302
|
api,
|
|
282
|
-
|
|
283
|
-
|
|
303
|
+
organization,
|
|
304
|
+
database,
|
|
284
305
|
branchName,
|
|
285
306
|
data.kind,
|
|
286
307
|
clusterSize,
|
|
@@ -299,8 +320,8 @@ export const Branch = Resource(
|
|
|
299
320
|
let clusterSize: string | undefined;
|
|
300
321
|
const parent = await waitForBranchReady(
|
|
301
322
|
api,
|
|
302
|
-
|
|
303
|
-
|
|
323
|
+
organization,
|
|
324
|
+
database,
|
|
304
325
|
parentBranchName,
|
|
305
326
|
);
|
|
306
327
|
if (props.clusterSize) {
|
|
@@ -315,8 +336,8 @@ export const Branch = Resource(
|
|
|
315
336
|
// Branch doesn't exist, create it
|
|
316
337
|
const { data } = await api.createBranch({
|
|
317
338
|
path: {
|
|
318
|
-
organization
|
|
319
|
-
database
|
|
339
|
+
organization,
|
|
340
|
+
database,
|
|
320
341
|
},
|
|
321
342
|
body: {
|
|
322
343
|
name: branchName,
|
|
@@ -331,18 +352,13 @@ export const Branch = Resource(
|
|
|
331
352
|
// Handle safe migrations if specified
|
|
332
353
|
if (props.safeMigrations !== undefined) {
|
|
333
354
|
// We can't change the migrations mode if the branch is not ready
|
|
334
|
-
await waitForBranchReady(
|
|
335
|
-
api,
|
|
336
|
-
props.organizationId,
|
|
337
|
-
props.databaseName,
|
|
338
|
-
branchName,
|
|
339
|
-
);
|
|
355
|
+
await waitForBranchReady(api, organization, database, branchName);
|
|
340
356
|
await api[
|
|
341
357
|
props.safeMigrations ? "enableSafeMigrations" : "disableSafeMigrations"
|
|
342
358
|
]({
|
|
343
359
|
path: {
|
|
344
|
-
organization
|
|
345
|
-
database
|
|
360
|
+
organization,
|
|
361
|
+
database,
|
|
346
362
|
name: branchName,
|
|
347
363
|
},
|
|
348
364
|
});
|
|
@@ -352,8 +368,8 @@ export const Branch = Resource(
|
|
|
352
368
|
if (clusterSize) {
|
|
353
369
|
await ensureProductionBranchClusterSize(
|
|
354
370
|
api,
|
|
355
|
-
|
|
356
|
-
|
|
371
|
+
organization,
|
|
372
|
+
database,
|
|
357
373
|
branchName,
|
|
358
374
|
data.kind,
|
|
359
375
|
clusterSize,
|