alchemy 0.71.0 → 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/README.md +1 -1
- package/bin/alchemy.js +119 -44
- package/bin/services/execute-alchemy.ts +12 -3
- package/bin/trpc.ts +12 -12
- package/lib/alchemy.d.ts.map +1 -1
- package/lib/alchemy.js +21 -6
- package/lib/alchemy.js.map +1 -1
- package/lib/apply.js +1 -1
- package/lib/apply.js.map +1 -1
- package/lib/cloudflare/d1-database.d.ts +1 -1
- package/lib/cloudflare/d1-database.d.ts.map +1 -1
- package/lib/cloudflare/d1-database.js +1 -1
- package/lib/cloudflare/d1-database.js.map +1 -1
- package/lib/cloudflare/health-check.d.ts +261 -0
- package/lib/cloudflare/health-check.d.ts.map +1 -0
- package/lib/cloudflare/health-check.js +277 -0
- package/lib/cloudflare/health-check.js.map +1 -0
- package/lib/cloudflare/index.d.ts +1 -0
- package/lib/cloudflare/index.d.ts.map +1 -1
- package/lib/cloudflare/index.js +1 -0
- package/lib/cloudflare/index.js.map +1 -1
- package/lib/cloudflare/wrangler.json.d.ts +8 -8
- package/lib/cloudflare/wrangler.json.d.ts.map +1 -1
- package/lib/cloudflare/wrangler.json.js +9 -11
- package/lib/cloudflare/wrangler.json.js.map +1 -1
- package/lib/cloudflare/zone.js +1 -1
- package/lib/destroy.d.ts.map +1 -1
- package/lib/destroy.js +27 -0
- package/lib/destroy.js.map +1 -1
- package/lib/docker/image.js +1 -1
- package/lib/docker/image.js.map +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/lib/resource.js +1 -1
- package/lib/resource.js.map +1 -1
- package/lib/scope.d.ts +6 -1
- package/lib/scope.d.ts.map +1 -1
- package/lib/scope.js +16 -15
- package/lib/scope.js.map +1 -1
- package/lib/state/instrumented-state-store.js +1 -1
- package/lib/state/instrumented-state-store.js.map +1 -1
- package/lib/util/cli-args.d.ts +3 -0
- package/lib/util/cli-args.d.ts.map +1 -0
- package/lib/util/cli-args.js +6 -0
- package/lib/util/cli-args.js.map +1 -0
- package/lib/util/telemetry.d.ts +1 -0
- package/lib/util/telemetry.d.ts.map +1 -1
- package/lib/util/telemetry.js +47 -2
- package/lib/util/telemetry.js.map +1 -1
- package/package.json +10 -8
- package/src/alchemy.ts +25 -11
- package/src/apply.ts +1 -1
- package/src/cloudflare/d1-database.ts +2 -2
- package/src/cloudflare/health-check.ts +617 -0
- package/src/cloudflare/index.ts +1 -0
- package/src/cloudflare/wrangler.json.ts +21 -23
- package/src/cloudflare/zone.ts +1 -1
- package/src/destroy.ts +32 -0
- package/src/docker/image.ts +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/src/resource.ts +1 -1
- package/src/scope.ts +25 -15
- package/src/state/instrumented-state-store.ts +1 -1
- package/src/util/cli-args.ts +11 -0
- package/src/util/telemetry.ts +68 -2
- package/workers/tunnel-proxy.js +1 -1
|
@@ -8,8 +8,8 @@ import { ensureProductionBranchClusterSize, sanitizeClusterSize, waitForBranchRe
|
|
|
8
8
|
* // Create a branch from 'main'
|
|
9
9
|
* const branch = await Branch("feature-123", {
|
|
10
10
|
* name: "feature-123",
|
|
11
|
-
*
|
|
12
|
-
*
|
|
11
|
+
* organization: "my-org",
|
|
12
|
+
* database: "my-database",
|
|
13
13
|
* parentBranch: "main"
|
|
14
14
|
* });
|
|
15
15
|
*
|
|
@@ -17,15 +17,15 @@ import { ensureProductionBranchClusterSize, sanitizeClusterSize, waitForBranchRe
|
|
|
17
17
|
* // Create a branch from another branch object
|
|
18
18
|
* const parentBranch = await Branch("staging", {
|
|
19
19
|
* name: "staging",
|
|
20
|
-
*
|
|
21
|
-
*
|
|
20
|
+
* organization: "my-org",
|
|
21
|
+
* database: "my-database",
|
|
22
22
|
* parentBranch: "main"
|
|
23
23
|
* });
|
|
24
24
|
*
|
|
25
25
|
* const featureBranch = await Branch("feature-456", {
|
|
26
26
|
* name: "feature-456",
|
|
27
|
-
*
|
|
28
|
-
*
|
|
27
|
+
* organization: "my-org",
|
|
28
|
+
* database: "my-database",
|
|
29
29
|
* parentBranch: parentBranch // Using Branch object instead of string
|
|
30
30
|
* });
|
|
31
31
|
*
|
|
@@ -33,8 +33,8 @@ import { ensureProductionBranchClusterSize, sanitizeClusterSize, waitForBranchRe
|
|
|
33
33
|
* // Create a branch from a backup
|
|
34
34
|
* const branch = await Branch("restored-branch", {
|
|
35
35
|
* name: "restored-branch",
|
|
36
|
-
*
|
|
37
|
-
*
|
|
36
|
+
* organization: "my-org",
|
|
37
|
+
* database: "my-database",
|
|
38
38
|
* parentBranch: "main",
|
|
39
39
|
* backupId: "backup-123",
|
|
40
40
|
* clusterSize: "PS_10"
|
|
@@ -49,6 +49,23 @@ export const Branch = Resource("planetscale::Branch", async function (id, props)
|
|
|
49
49
|
: typeof props.parentBranch === "string"
|
|
50
50
|
? props.parentBranch
|
|
51
51
|
: props.parentBranch.name;
|
|
52
|
+
const organization =
|
|
53
|
+
// @ts-expect-error - organizationId is a legacy thing, we keep this so we can destroy
|
|
54
|
+
this.output?.organizationId ??
|
|
55
|
+
props.organization ??
|
|
56
|
+
(typeof props.database !== "string"
|
|
57
|
+
? props.database.organization
|
|
58
|
+
: (process.env.PLANETSCALE_ORGANIZATION ??
|
|
59
|
+
process.env.PLANETSCALE_ORG_ID));
|
|
60
|
+
const database =
|
|
61
|
+
// @ts-expect-error - databaseName is a legacy thing, we keep this so we can destroy
|
|
62
|
+
this.output?.databaseName ??
|
|
63
|
+
(typeof props.database === "string"
|
|
64
|
+
? props.database
|
|
65
|
+
: props.database.name);
|
|
66
|
+
if (!organization) {
|
|
67
|
+
throw new Error("PlanetScale organization is required. Please set the `organization` property or the `PLANETSCALE_ORGANIZATION` environment variable.");
|
|
68
|
+
}
|
|
52
69
|
if (this.phase === "update" && this.output.name !== branchName) {
|
|
53
70
|
// TODO(sam): maybe we don't need to replace? just branch again? or rename?
|
|
54
71
|
this.replace();
|
|
@@ -57,8 +74,8 @@ export const Branch = Resource("planetscale::Branch", async function (id, props)
|
|
|
57
74
|
if (this.output?.name) {
|
|
58
75
|
const response = await api.deleteBranch({
|
|
59
76
|
path: {
|
|
60
|
-
organization
|
|
61
|
-
database
|
|
77
|
+
organization,
|
|
78
|
+
database,
|
|
62
79
|
name: this.output.name,
|
|
63
80
|
},
|
|
64
81
|
throwOnError: false,
|
|
@@ -72,13 +89,13 @@ export const Branch = Resource("planetscale::Branch", async function (id, props)
|
|
|
72
89
|
return this.destroy();
|
|
73
90
|
}
|
|
74
91
|
if (typeof props.parentBranch !== "string" && props.parentBranch) {
|
|
75
|
-
await waitForBranchReady(api,
|
|
92
|
+
await waitForBranchReady(api, organization, database, props.parentBranch.name);
|
|
76
93
|
}
|
|
77
94
|
// Check if branch exists
|
|
78
95
|
const getResponse = await api.getBranch({
|
|
79
96
|
path: {
|
|
80
|
-
organization
|
|
81
|
-
database
|
|
97
|
+
organization,
|
|
98
|
+
database,
|
|
82
99
|
name: branchName,
|
|
83
100
|
},
|
|
84
101
|
throwOnError: false,
|
|
@@ -112,8 +129,8 @@ export const Branch = Resource("planetscale::Branch", async function (id, props)
|
|
|
112
129
|
? "enableSafeMigrations"
|
|
113
130
|
: "disableSafeMigrations"]({
|
|
114
131
|
path: {
|
|
115
|
-
organization
|
|
116
|
-
database
|
|
132
|
+
organization,
|
|
133
|
+
database,
|
|
117
134
|
name: branchName,
|
|
118
135
|
},
|
|
119
136
|
});
|
|
@@ -130,7 +147,7 @@ export const Branch = Resource("planetscale::Branch", async function (id, props)
|
|
|
130
147
|
if (!props.isProduction) {
|
|
131
148
|
throw new Error(`Cannot change cluster size of non-production branch ${branchName}`);
|
|
132
149
|
}
|
|
133
|
-
await ensureProductionBranchClusterSize(api,
|
|
150
|
+
await ensureProductionBranchClusterSize(api, organization, database, branchName, data.kind, clusterSize);
|
|
134
151
|
}
|
|
135
152
|
return {
|
|
136
153
|
...props,
|
|
@@ -142,7 +159,7 @@ export const Branch = Resource("planetscale::Branch", async function (id, props)
|
|
|
142
159
|
};
|
|
143
160
|
}
|
|
144
161
|
let clusterSize;
|
|
145
|
-
const parent = await waitForBranchReady(api,
|
|
162
|
+
const parent = await waitForBranchReady(api, organization, database, parentBranchName);
|
|
146
163
|
if (props.clusterSize) {
|
|
147
164
|
clusterSize = sanitizeClusterSize({
|
|
148
165
|
size: props.clusterSize,
|
|
@@ -154,8 +171,8 @@ export const Branch = Resource("planetscale::Branch", async function (id, props)
|
|
|
154
171
|
// Branch doesn't exist, create it
|
|
155
172
|
const { data } = await api.createBranch({
|
|
156
173
|
path: {
|
|
157
|
-
organization
|
|
158
|
-
database
|
|
174
|
+
organization,
|
|
175
|
+
database,
|
|
159
176
|
},
|
|
160
177
|
body: {
|
|
161
178
|
name: branchName,
|
|
@@ -169,18 +186,18 @@ export const Branch = Resource("planetscale::Branch", async function (id, props)
|
|
|
169
186
|
// Handle safe migrations if specified
|
|
170
187
|
if (props.safeMigrations !== undefined) {
|
|
171
188
|
// We can't change the migrations mode if the branch is not ready
|
|
172
|
-
await waitForBranchReady(api,
|
|
189
|
+
await waitForBranchReady(api, organization, database, branchName);
|
|
173
190
|
await api[props.safeMigrations ? "enableSafeMigrations" : "disableSafeMigrations"]({
|
|
174
191
|
path: {
|
|
175
|
-
organization
|
|
176
|
-
database
|
|
192
|
+
organization,
|
|
193
|
+
database,
|
|
177
194
|
name: branchName,
|
|
178
195
|
},
|
|
179
196
|
});
|
|
180
197
|
}
|
|
181
198
|
// Handle cluster size update if specified
|
|
182
199
|
if (clusterSize) {
|
|
183
|
-
await ensureProductionBranchClusterSize(api,
|
|
200
|
+
await ensureProductionBranchClusterSize(api, organization, database, branchName, data.kind, clusterSize);
|
|
184
201
|
}
|
|
185
202
|
return {
|
|
186
203
|
...props,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"branch.js","sourceRoot":"","sources":["../../src/planetscale/branch.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,uBAAuB,EAAyB,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"branch.js","sourceRoot":"","sources":["../../src/planetscale/branch.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,9 +9,10 @@ interface BaseDatabaseProps extends PlanetScaleProps {
|
|
|
9
9
|
*/
|
|
10
10
|
name?: string;
|
|
11
11
|
/**
|
|
12
|
-
* The organization
|
|
12
|
+
* The organization name where the database will be created
|
|
13
|
+
* @default process.env.PLANETSCALE_ORGANIZATION
|
|
13
14
|
*/
|
|
14
|
-
|
|
15
|
+
organization?: string;
|
|
15
16
|
/**
|
|
16
17
|
* Whether to adopt the database if it already exists in Planetscale
|
|
17
18
|
*/
|
|
@@ -121,6 +122,10 @@ export type Database = DatabaseProps & {
|
|
|
121
122
|
* HTML URL to access the database
|
|
122
123
|
*/
|
|
123
124
|
htmlUrl: string;
|
|
125
|
+
/**
|
|
126
|
+
* The organization of the database
|
|
127
|
+
*/
|
|
128
|
+
organization: string;
|
|
124
129
|
};
|
|
125
130
|
/**
|
|
126
131
|
* Create, manage and delete PlanetScale databases
|
|
@@ -129,7 +134,7 @@ export type Database = DatabaseProps & {
|
|
|
129
134
|
* // Create a basic database in a specific organization
|
|
130
135
|
* const db = await Database("my-app-db", {
|
|
131
136
|
* name: "my-app-db",
|
|
132
|
-
*
|
|
137
|
+
* organization: "my-org",
|
|
133
138
|
* clusterSize: "PS_10"
|
|
134
139
|
* });
|
|
135
140
|
*
|
|
@@ -137,7 +142,7 @@ export type Database = DatabaseProps & {
|
|
|
137
142
|
* // Create a database with specific region and settings
|
|
138
143
|
* const db = await Database("my-app-db", {
|
|
139
144
|
* name: "my-app-db",
|
|
140
|
-
*
|
|
145
|
+
* organization: "my-org",
|
|
141
146
|
* region: {
|
|
142
147
|
* slug: "us-east"
|
|
143
148
|
* },
|
|
@@ -151,7 +156,7 @@ export type Database = DatabaseProps & {
|
|
|
151
156
|
* // Create a database with custom API key
|
|
152
157
|
* const db = await Database("my-app-db", {
|
|
153
158
|
* name: "my-app-db",
|
|
154
|
-
*
|
|
159
|
+
* organization: "my-org",
|
|
155
160
|
* apiKey: alchemy.secret(process.env.CUSTOM_PLANETSCALE_TOKEN),
|
|
156
161
|
* clusterSize: "PS_10"
|
|
157
162
|
* });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../src/planetscale/database.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAE7C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEjD,OAAO,EAEL,KAAK,sBAAsB,EAG5B,MAAM,YAAY,CAAC;AAEpB,UAAU,iBAAkB,SAAQ,gBAAgB;IAClD;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd
|
|
1
|
+
{"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../src/planetscale/database.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAE7C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEjD,OAAO,EAEL,KAAK,sBAAsB,EAG5B,MAAM,YAAY,CAAC;AAEpB,UAAU,iBAAkB,SAAQ,gBAAgB;IAClD;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB;;OAEG;IACH,MAAM,CAAC,EAAE;QACP;;WAEG;QACH,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IAEF;;OAEG;IACH,wBAAwB,CAAC,EAAE,OAAO,CAAC;IAEnC;;OAEG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B;;OAEG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B;;OAEG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAE/B;;OAEG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B;;OAEG;IACH,0BAA0B,CAAC,EAAE,OAAO,CAAC;IAErC;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B;;OAEG;IACH,WAAW,EAAE,sBAAsB,CAAC;IAEpC;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,GAAG,YAAY,CAAC;IAE9B;;OAEG;IACH,IAAI,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,iBAAiB,GAC3C,CACI;IACE,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB,GACD;IACE,IAAI,EAAE,YAAY,CAAC;IACnB,IAAI,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;CACtB,CACJ,CAAC;AAEJ;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,aAAa,GAAG;IACrC;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,eAAO,MAAM,QAAQ,yFAGX,OAAO,CAAC,QAAQ,CAAC,MACnB,MAAM,SACH,aAAa,KACnB,OAAO,CAAC,QAAQ,CAAC,CAsPrB,CAAC"}
|
|
@@ -8,7 +8,7 @@ import { ensureProductionBranchClusterSize, sanitizeClusterSize, waitForDatabase
|
|
|
8
8
|
* // Create a basic database in a specific organization
|
|
9
9
|
* const db = await Database("my-app-db", {
|
|
10
10
|
* name: "my-app-db",
|
|
11
|
-
*
|
|
11
|
+
* organization: "my-org",
|
|
12
12
|
* clusterSize: "PS_10"
|
|
13
13
|
* });
|
|
14
14
|
*
|
|
@@ -16,7 +16,7 @@ import { ensureProductionBranchClusterSize, sanitizeClusterSize, waitForDatabase
|
|
|
16
16
|
* // Create a database with specific region and settings
|
|
17
17
|
* const db = await Database("my-app-db", {
|
|
18
18
|
* name: "my-app-db",
|
|
19
|
-
*
|
|
19
|
+
* organization: "my-org",
|
|
20
20
|
* region: {
|
|
21
21
|
* slug: "us-east"
|
|
22
22
|
* },
|
|
@@ -30,7 +30,7 @@ import { ensureProductionBranchClusterSize, sanitizeClusterSize, waitForDatabase
|
|
|
30
30
|
* // Create a database with custom API key
|
|
31
31
|
* const db = await Database("my-app-db", {
|
|
32
32
|
* name: "my-app-db",
|
|
33
|
-
*
|
|
33
|
+
* organization: "my-org",
|
|
34
34
|
* apiKey: alchemy.secret(process.env.CUSTOM_PLANETSCALE_TOKEN),
|
|
35
35
|
* clusterSize: "PS_10"
|
|
36
36
|
* });
|
|
@@ -44,10 +44,19 @@ export const Database = Resource("planetscale::Database", async function (id, pr
|
|
|
44
44
|
arch: props.arch,
|
|
45
45
|
region: props.region?.slug,
|
|
46
46
|
});
|
|
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
|
+
process.env.PLANETSCALE_ORGANIZATION ??
|
|
52
|
+
process.env.PLANETSCALE_ORG_ID;
|
|
53
|
+
if (!organization) {
|
|
54
|
+
throw new Error("PlanetScale organization is required. Please set the `organization` property or the `PLANETSCALE_ORGANIZATION` environment variable.");
|
|
55
|
+
}
|
|
47
56
|
if (this.phase === "update" && this.output.name !== databaseName) {
|
|
48
57
|
await api.updateDatabaseSettings({
|
|
49
58
|
path: {
|
|
50
|
-
organization
|
|
59
|
+
organization,
|
|
51
60
|
name: this.output.name,
|
|
52
61
|
},
|
|
53
62
|
body: { new_name: databaseName },
|
|
@@ -57,7 +66,7 @@ export const Database = Resource("planetscale::Database", async function (id, pr
|
|
|
57
66
|
if (this.output?.name) {
|
|
58
67
|
const response = await api.deleteDatabase({
|
|
59
68
|
path: {
|
|
60
|
-
organization
|
|
69
|
+
organization,
|
|
61
70
|
name: this.output.name,
|
|
62
71
|
},
|
|
63
72
|
throwOnError: false,
|
|
@@ -73,7 +82,7 @@ export const Database = Resource("planetscale::Database", async function (id, pr
|
|
|
73
82
|
// Check if database exists
|
|
74
83
|
const getResponse = await api.getDatabase({
|
|
75
84
|
path: {
|
|
76
|
-
organization
|
|
85
|
+
organization,
|
|
77
86
|
name: databaseName,
|
|
78
87
|
},
|
|
79
88
|
throwOnError: false,
|
|
@@ -89,20 +98,20 @@ export const Database = Resource("planetscale::Database", async function (id, pr
|
|
|
89
98
|
if (props.defaultBranch && props.defaultBranch !== "main") {
|
|
90
99
|
const branchResponse = await api.getBranch({
|
|
91
100
|
path: {
|
|
92
|
-
organization
|
|
101
|
+
organization,
|
|
93
102
|
database: databaseName,
|
|
94
103
|
name: props.defaultBranch,
|
|
95
104
|
},
|
|
96
105
|
throwOnError: false,
|
|
97
106
|
});
|
|
98
107
|
if (!branchResponse.data) {
|
|
99
|
-
await waitForDatabaseReady(api,
|
|
108
|
+
await waitForDatabaseReady(api, organization, databaseName);
|
|
100
109
|
}
|
|
101
110
|
if (branchResponse.error && branchResponse.response.status === 404) {
|
|
102
111
|
// Create the branch
|
|
103
112
|
await api.createBranch({
|
|
104
113
|
path: {
|
|
105
|
-
organization
|
|
114
|
+
organization,
|
|
106
115
|
database: databaseName,
|
|
107
116
|
},
|
|
108
117
|
body: {
|
|
@@ -114,7 +123,7 @@ export const Database = Resource("planetscale::Database", async function (id, pr
|
|
|
114
123
|
}
|
|
115
124
|
const { data } = await api.updateDatabaseSettings({
|
|
116
125
|
path: {
|
|
117
|
-
organization
|
|
126
|
+
organization,
|
|
118
127
|
name: databaseName,
|
|
119
128
|
},
|
|
120
129
|
body: {
|
|
@@ -129,7 +138,7 @@ export const Database = Resource("planetscale::Database", async function (id, pr
|
|
|
129
138
|
default_branch: props.defaultBranch,
|
|
130
139
|
},
|
|
131
140
|
});
|
|
132
|
-
await ensureProductionBranchClusterSize(api,
|
|
141
|
+
await ensureProductionBranchClusterSize(api, organization, databaseName, props.defaultBranch || "main", data.kind, clusterSize);
|
|
133
142
|
return {
|
|
134
143
|
...props,
|
|
135
144
|
id: data.id,
|
|
@@ -140,6 +149,7 @@ export const Database = Resource("planetscale::Database", async function (id, pr
|
|
|
140
149
|
createdAt: data.created_at,
|
|
141
150
|
updatedAt: data.updated_at,
|
|
142
151
|
htmlUrl: data.html_url,
|
|
152
|
+
organization,
|
|
143
153
|
};
|
|
144
154
|
}
|
|
145
155
|
if (getResponse.data) {
|
|
@@ -148,7 +158,7 @@ export const Database = Resource("planetscale::Database", async function (id, pr
|
|
|
148
158
|
// Create new database
|
|
149
159
|
await api.createDatabase({
|
|
150
160
|
path: {
|
|
151
|
-
organization
|
|
161
|
+
organization,
|
|
152
162
|
},
|
|
153
163
|
body: {
|
|
154
164
|
name: databaseName,
|
|
@@ -160,7 +170,7 @@ export const Database = Resource("planetscale::Database", async function (id, pr
|
|
|
160
170
|
// These settings can't be set on creation, so we need to patch them after creation.
|
|
161
171
|
const { data } = await api.updateDatabaseSettings({
|
|
162
172
|
path: {
|
|
163
|
-
organization
|
|
173
|
+
organization,
|
|
164
174
|
name: databaseName,
|
|
165
175
|
},
|
|
166
176
|
body: {
|
|
@@ -176,11 +186,11 @@ export const Database = Resource("planetscale::Database", async function (id, pr
|
|
|
176
186
|
});
|
|
177
187
|
// If a non-'main' default branch is specified, create it
|
|
178
188
|
if (props.defaultBranch && props.defaultBranch !== "main") {
|
|
179
|
-
await waitForDatabaseReady(api,
|
|
189
|
+
await waitForDatabaseReady(api, organization, databaseName);
|
|
180
190
|
// Check if branch exists
|
|
181
191
|
const branchResponse = await api.getBranch({
|
|
182
192
|
path: {
|
|
183
|
-
organization
|
|
193
|
+
organization,
|
|
184
194
|
database: databaseName,
|
|
185
195
|
name: props.defaultBranch,
|
|
186
196
|
},
|
|
@@ -190,7 +200,7 @@ export const Database = Resource("planetscale::Database", async function (id, pr
|
|
|
190
200
|
// Create the branch
|
|
191
201
|
await api.createBranch({
|
|
192
202
|
path: {
|
|
193
|
-
organization
|
|
203
|
+
organization,
|
|
194
204
|
database: databaseName,
|
|
195
205
|
},
|
|
196
206
|
body: {
|
|
@@ -198,11 +208,11 @@ export const Database = Resource("planetscale::Database", async function (id, pr
|
|
|
198
208
|
parent_branch: "main",
|
|
199
209
|
},
|
|
200
210
|
});
|
|
201
|
-
await ensureProductionBranchClusterSize(api,
|
|
211
|
+
await ensureProductionBranchClusterSize(api, organization, databaseName, props.defaultBranch || "main", data.kind, clusterSize);
|
|
202
212
|
// Update database to use new branch as default
|
|
203
213
|
const { data: updatedData } = await api.updateDatabaseSettings({
|
|
204
214
|
path: {
|
|
205
|
-
organization
|
|
215
|
+
organization,
|
|
206
216
|
name: databaseName,
|
|
207
217
|
},
|
|
208
218
|
body: {
|
|
@@ -219,6 +229,7 @@ export const Database = Resource("planetscale::Database", async function (id, pr
|
|
|
219
229
|
createdAt: updatedData.created_at,
|
|
220
230
|
updatedAt: updatedData.updated_at,
|
|
221
231
|
htmlUrl: updatedData.html_url,
|
|
232
|
+
organization,
|
|
222
233
|
};
|
|
223
234
|
}
|
|
224
235
|
}
|
|
@@ -232,6 +243,7 @@ export const Database = Resource("planetscale::Database", async function (id, pr
|
|
|
232
243
|
createdAt: data.created_at,
|
|
233
244
|
updatedAt: data.updated_at,
|
|
234
245
|
htmlUrl: data.html_url,
|
|
246
|
+
organization,
|
|
235
247
|
};
|
|
236
248
|
});
|
|
237
249
|
//# sourceMappingURL=database.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database.js","sourceRoot":"","sources":["../../src/planetscale/database.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,OAAO,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AACnD,OAAO,EACL,iCAAiC,EAEjC,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"database.js","sourceRoot":"","sources":["../../src/planetscale/database.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/planetscale/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/planetscale/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC"}
|
package/lib/planetscale/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/planetscale/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/planetscale/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { type PlanetScaleProps } from "./api.ts";
|
|
2
|
+
import type { Organization } from "./api/types.gen.ts";
|
|
3
|
+
export type OrganizationRef = Organization;
|
|
4
|
+
export declare function OrganizationRef(name: string | Organization, options?: PlanetScaleProps): Promise<Organization>;
|
|
5
|
+
//# sourceMappingURL=organization.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"organization.d.ts","sourceRoot":"","sources":["../../src/planetscale/organization.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC1E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,MAAM,MAAM,eAAe,GAAG,YAAY,CAAC;AAE3C,wBAAsB,eAAe,CACnC,IAAI,EAAE,MAAM,GAAG,YAAY,EAC3B,OAAO,GAAE,gBAAqB,yBAS/B"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { createPlanetScaleClient } from "./api.js";
|
|
2
|
+
export async function OrganizationRef(name, options = {}) {
|
|
3
|
+
const api = createPlanetScaleClient(options);
|
|
4
|
+
const organization = await api.getOrganization({
|
|
5
|
+
path: {
|
|
6
|
+
name: typeof name === "string" ? name : name.id,
|
|
7
|
+
},
|
|
8
|
+
});
|
|
9
|
+
return organization.data;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=organization.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"organization.js","sourceRoot":"","sources":["../../src/planetscale/organization.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAyB,MAAM,UAAU,CAAC;AAK1E,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,IAA2B,EAC3B,UAA4B,EAAE;IAE9B,MAAM,GAAG,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;IAC7C,MAAM,YAAY,GAAG,MAAM,GAAG,CAAC,eAAe,CAAC;QAC7C,IAAI,EAAE;YACJ,IAAI,EAAE,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;SAChD;KACF,CAAC,CAAC;IACH,OAAO,YAAY,CAAC,IAAI,CAAC;AAC3B,CAAC"}
|
|
@@ -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"}
|