@alchemy.run/planetscale 2.0.0-beta.84 → 2.0.0-beta.86
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/lib/AuthProvider.d.ts +1 -1
- package/lib/AuthProvider.d.ts.map +1 -1
- package/lib/AuthProvider.js +58 -47
- package/lib/AuthProvider.js.map +1 -1
- package/lib/Branch.d.ts +6 -1
- package/lib/Branch.d.ts.map +1 -1
- package/lib/Branch.js +23 -2
- package/lib/Branch.js.map +1 -1
- package/lib/Contributions.d.ts +1 -1
- package/lib/Contributions.d.ts.map +1 -1
- package/lib/Contributions.js.map +1 -1
- package/lib/Credentials.d.ts +1 -1
- package/lib/Credentials.d.ts.map +1 -1
- package/lib/Credentials.js +6 -12
- package/lib/Credentials.js.map +1 -1
- package/lib/Database.d.ts +7 -0
- package/lib/Database.d.ts.map +1 -1
- package/lib/Database.js.map +1 -1
- package/lib/MySQL/MySQLBranch.d.ts +26 -2
- package/lib/MySQL/MySQLBranch.d.ts.map +1 -1
- package/lib/MySQL/MySQLBranch.js +15 -1
- package/lib/MySQL/MySQLBranch.js.map +1 -1
- package/lib/MySQL/MySQLClusterSize.d.ts +1 -1
- package/lib/MySQL/MySQLClusterSize.d.ts.map +1 -1
- package/lib/MySQL/MySQLClusterSize.js +1 -1
- package/lib/MySQL/MySQLClusterSize.js.map +1 -1
- package/lib/MySQL/MySQLDatabase.d.ts +28 -2
- package/lib/MySQL/MySQLDatabase.d.ts.map +1 -1
- package/lib/MySQL/MySQLDatabase.js +72 -51
- package/lib/MySQL/MySQLDatabase.js.map +1 -1
- package/lib/MySQL/MySQLMigrations.d.ts +7 -11
- package/lib/MySQL/MySQLMigrations.d.ts.map +1 -1
- package/lib/MySQL/MySQLMigrations.js +24 -58
- package/lib/MySQL/MySQLMigrations.js.map +1 -1
- package/lib/MySQL/MySQLOrigin.d.ts.map +1 -1
- package/lib/MySQL/MySQLOrigin.js.map +1 -1
- package/lib/MySQL/MySQLPassword.d.ts.map +1 -1
- package/lib/MySQL/MySQLPassword.js +2 -2
- package/lib/MySQL/MySQLPassword.js.map +1 -1
- package/lib/MySQL/index.d.ts.map +1 -1
- package/lib/MySQL/index.js.map +1 -1
- package/lib/OAuthClient.d.ts.map +1 -1
- package/lib/OAuthClient.js.map +1 -1
- package/lib/Postgres/PostgresBranch.d.ts +26 -2
- package/lib/Postgres/PostgresBranch.d.ts.map +1 -1
- package/lib/Postgres/PostgresBranch.js +15 -1
- package/lib/Postgres/PostgresBranch.js.map +1 -1
- package/lib/Postgres/PostgresClusterSize.d.ts.map +1 -1
- package/lib/Postgres/PostgresClusterSize.js.map +1 -1
- package/lib/Postgres/PostgresDatabase.d.ts +28 -2
- package/lib/Postgres/PostgresDatabase.d.ts.map +1 -1
- package/lib/Postgres/PostgresDatabase.js +77 -56
- package/lib/Postgres/PostgresDatabase.js.map +1 -1
- package/lib/Postgres/PostgresDefaultRole.d.ts.map +1 -1
- package/lib/Postgres/PostgresDefaultRole.js +2 -2
- package/lib/Postgres/PostgresDefaultRole.js.map +1 -1
- package/lib/Postgres/PostgresMigrations.d.ts +3 -11
- package/lib/Postgres/PostgresMigrations.d.ts.map +1 -1
- package/lib/Postgres/PostgresMigrations.js +15 -66
- package/lib/Postgres/PostgresMigrations.js.map +1 -1
- package/lib/Postgres/PostgresOrigin.d.ts.map +1 -1
- package/lib/Postgres/PostgresOrigin.js.map +1 -1
- package/lib/Postgres/PostgresRole.d.ts.map +1 -1
- package/lib/Postgres/PostgresRole.js +3 -3
- package/lib/Postgres/PostgresRole.js.map +1 -1
- package/lib/Postgres/index.d.ts.map +1 -1
- package/lib/Postgres/index.js.map +1 -1
- package/lib/Providers.d.ts +1 -1
- package/lib/Providers.d.ts.map +1 -1
- package/lib/Providers.js +3 -1
- package/lib/Providers.js.map +1 -1
- package/lib/ServiceToken.d.ts +142 -0
- package/lib/ServiceToken.d.ts.map +1 -0
- package/lib/ServiceToken.js +268 -0
- package/lib/ServiceToken.js.map +1 -0
- package/lib/Util.d.ts +3 -3
- package/lib/Util.d.ts.map +1 -1
- package/lib/Util.js +1 -1
- package/lib/Util.js.map +1 -1
- package/lib/index.d.ts +1 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/package.json +9 -9
- package/src/AuthProvider.ts +91 -78
- package/src/Branch.ts +36 -3
- package/src/Credentials.ts +8 -32
- package/src/Database.ts +7 -0
- package/src/MySQL/MySQLBranch.ts +28 -2
- package/src/MySQL/MySQLClusterSize.ts +1 -1
- package/src/MySQL/MySQLDatabase.ts +103 -63
- package/src/MySQL/MySQLMigrations.ts +31 -80
- package/src/MySQL/MySQLPassword.ts +2 -2
- package/src/Postgres/PostgresBranch.ts +28 -2
- package/src/Postgres/PostgresDatabase.ts +104 -63
- package/src/Postgres/PostgresDefaultRole.ts +2 -2
- package/src/Postgres/PostgresMigrations.ts +20 -91
- package/src/Postgres/PostgresRole.ts +4 -4
- package/src/Providers.ts +3 -0
- package/src/ServiceToken.ts +431 -0
- package/src/Util.ts +1 -1
- package/src/index.ts +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PostgresRole.d.ts","
|
|
1
|
+
{"version":3,"file":"PostgresRole.d.ts","sources":["../../src/Postgres/PostgresRole.ts"],"names":[],"mappings":"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"}
|
|
@@ -62,8 +62,8 @@ export const PostgresRoleProvider = () => Provider.succeed(PostgresRole, {
|
|
|
62
62
|
database: output.database,
|
|
63
63
|
branch: token.branch.name,
|
|
64
64
|
})), Effect.catchTags({
|
|
65
|
-
Forbidden: () => Effect.
|
|
66
|
-
NotFound: () => Effect.
|
|
65
|
+
Forbidden: () => Effect.undefined,
|
|
66
|
+
NotFound: () => Effect.undefined,
|
|
67
67
|
}));
|
|
68
68
|
}),
|
|
69
69
|
reconcile: Effect.fn(function* ({ id, news, output }) {
|
|
@@ -85,7 +85,7 @@ export const PostgresRoleProvider = () => Provider.succeed(PostgresRole, {
|
|
|
85
85
|
organization,
|
|
86
86
|
database: databaseName,
|
|
87
87
|
})
|
|
88
|
-
.pipe(Effect.catchTag("NotFound", () => Effect.
|
|
88
|
+
.pipe(Effect.catchTag("NotFound", () => Effect.undefined))
|
|
89
89
|
: undefined;
|
|
90
90
|
// 2. Ensure — create if missing. Single branch covers both
|
|
91
91
|
// greenfield (no output) and out-of-band-deletion (output
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PostgresRole.js","sourceRoot":"","sources":["../../src/Postgres/PostgresRole.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PostgresRole.js","sources":["../../src/Postgres/PostgresRole.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","
|
|
1
|
+
{"version":3,"file":"index.d.ts","sources":["../../src/Postgres/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/Postgres/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC"}
|
package/lib/Providers.d.ts
CHANGED
|
@@ -19,6 +19,6 @@ export type ProviderRequirements = Layer.Services<ReturnType<typeof providers>>;
|
|
|
19
19
|
* Effect.provide(Planetscale.providers())
|
|
20
20
|
* ```
|
|
21
21
|
*/
|
|
22
|
-
export declare const providers: () => Layer.Layer<Credentials.Credentials | import("alchemy/Auth/Credentials").CredentialsStore | import("effect/http/HttpClient").HttpClient | import("alchemy/Auth/Profile").ProfileStore | Providers, never, import("alchemy/Auth/
|
|
22
|
+
export declare const providers: () => Layer.Layer<Credentials.Credentials | import("alchemy/Auth/Credentials").CredentialsStore | import("effect/http/HttpClient").HttpClient | import("alchemy/Auth/Profile").ProfileStore | Providers, never, import("alchemy/Auth/Registry").AuthProviders | import("effect/process/ChildProcessSpawner").ChildProcessSpawner | import("effect/crypto/Digest").Digest | import("effect/FileSystem").FileSystem | import("effect/Path").Path | import("effect/crypto/SecureRandom").SecureRandom | import("alchemy/Stack").Stack | import("alchemy/Stage").Stage>;
|
|
23
23
|
export {};
|
|
24
24
|
//# sourceMappingURL=Providers.d.ts.map
|
package/lib/Providers.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Providers.d.ts","
|
|
1
|
+
{"version":3,"file":"Providers.d.ts","sources":["../src/Providers.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,QAAQ,MAAM,kBAAkB,CAAC;AAE7C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAC;;AAahD;;;GAGG;AACH,qBAAa,SAAU,SAAQ,cAAuD;CAAG;AAEzF,MAAM,MAAM,oBAAoB,GAAG,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,SAAS,CAAC,CAAC,CAAC;AAEhF;;;;;;;;;GASG;AACH,eAAO,MAAM,SAAS,qiBAgCnB,CAAC"}
|
package/lib/Providers.js
CHANGED
|
@@ -12,6 +12,7 @@ import { PostgresBranch, PostgresBranchProvider } from "./Postgres/PostgresBranc
|
|
|
12
12
|
import { PostgresDatabase, PostgresDatabaseProvider } from "./Postgres/PostgresDatabase.js";
|
|
13
13
|
import { PostgresDefaultRole, PostgresDefaultRoleProvider, } from "./Postgres/PostgresDefaultRole.js";
|
|
14
14
|
import { PostgresRole, PostgresRoleProvider } from "./Postgres/PostgresRole.js";
|
|
15
|
+
import { ServiceToken, ServiceTokenProvider } from "./ServiceToken.js";
|
|
15
16
|
/**
|
|
16
17
|
* Service tag bundling all PlanetScale providers + auth + credentials. Use
|
|
17
18
|
* `Planetscale.providers()` to materialize the full layer.
|
|
@@ -36,5 +37,6 @@ export const providers = () => Layer.effect(Providers, Provider.collection([
|
|
|
36
37
|
MySQLPassword,
|
|
37
38
|
PostgresRole,
|
|
38
39
|
PostgresDefaultRole,
|
|
39
|
-
|
|
40
|
+
ServiceToken,
|
|
41
|
+
])).pipe(Layer.provide(Layer.mergeAll(MySQLDatabaseProvider(), PostgresDatabaseProvider(), MySQLBranchProvider(), PostgresBranchProvider(), MySQLPasswordProvider(), PostgresRoleProvider(), PostgresDefaultRoleProvider(), ServiceTokenProvider())), Layer.provideMerge(Credentials.fromAuthProvider()), Layer.provideMerge(FetchHttpClient.layer), Layer.provideMerge(PlanetscaleAuth), Layer.provideMerge(ProfileStoreLive), Layer.provideMerge(CredentialsStoreLive), Layer.orDie);
|
|
40
42
|
//# sourceMappingURL=Providers.js.map
|
package/lib/Providers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Providers.js","
|
|
1
|
+
{"version":3,"file":"Providers.js","sources":["../src/Providers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,QAAQ,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,eAAe,MAAM,6BAA6B,CAAC;AAC/D,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAChF,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAChF,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACtF,OAAO,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAC5F,OAAO,EACL,mBAAmB,EACnB,2BAA2B,GAC5B,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAEvE;;;GAGG;AACH,MAAM,OAAO,SAAU,SAAQ,QAAQ,CAAC,kBAAkB,EAAa,CAAC,aAAa,CAAC;CAAG;AAIzF;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,EAAE,CAC5B,KAAK,CAAC,MAAM,CACV,SAAS,EACT,QAAQ,CAAC,UAAU,CAAC;IAClB,aAAa;IACb,gBAAgB;IAChB,WAAW;IACX,cAAc;IACd,aAAa;IACb,YAAY;IACZ,mBAAmB;IACnB,YAAY;CACb,CAAC,CACH,CAAC,IAAI,CACJ,KAAK,CAAC,OAAO,CACX,KAAK,CAAC,QAAQ,CACZ,qBAAqB,EAAE,EACvB,wBAAwB,EAAE,EAC1B,mBAAmB,EAAE,EACrB,sBAAsB,EAAE,EACxB,qBAAqB,EAAE,EACvB,oBAAoB,EAAE,EACtB,2BAA2B,EAAE,EAC7B,oBAAoB,EAAE,CACvB,CACF,EACD,KAAK,CAAC,YAAY,CAAC,WAAW,CAAC,gBAAgB,EAAE,CAAC,EAClD,KAAK,CAAC,YAAY,CAAC,eAAe,CAAC,KAAK,CAAC,EACzC,KAAK,CAAC,YAAY,CAAC,eAAe,CAAC,EACnC,KAAK,CAAC,YAAY,CAAC,gBAAgB,CAAC,EACpC,KAAK,CAAC,YAAY,CAAC,oBAAoB,CAAC,EACxC,KAAK,CAAC,KAAK,CACZ,CAAC"}
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
import * as planetscale from "@distilled.cloud/planetscale";
|
|
2
|
+
import * as Provider from "alchemy/Provider";
|
|
3
|
+
import { Resource } from "alchemy/Resource";
|
|
4
|
+
import * as Redacted from "effect/Redacted";
|
|
5
|
+
import type { MySQLDatabase } from "./MySQL/MySQLDatabase.ts";
|
|
6
|
+
import type { PostgresDatabase } from "./Postgres/PostgresDatabase.ts";
|
|
7
|
+
import type { Providers } from "./Providers.ts";
|
|
8
|
+
/** Database permissions supported by PlanetScale service tokens. */
|
|
9
|
+
export type ServiceTokenDatabaseAccess = "read_database" | "write_database" | "delete_database" | "create_branch" | "read_branch" | "delete_branch" | "delete_production_branch" | "promote_branches" | "demote_branches" | "connect_branch" | "connect_production_branch" | "connect_production_read_only_branch" | "create_branch_password" | "create_production_branch_password" | "create_production_read_only_branch_password" | "delete_branch_password" | "delete_production_branch_password" | "delete_production_read_only_branch_password" | "create_deploy_request" | "read_deploy_request" | "approve_deploy_request" | "review_deploy_request" | "create_comment" | "read_comment" | "read_backups" | "write_backups" | "delete_backups" | "delete_production_branch_backups" | "restore_backup" | "restore_production_branch_backup" | "write_branch_vschema" | "write_production_branch_vschema" | "write_branch_topology" | "write_production_branch_topology" | "read_workflow" | "write_workflow" | "delete_workflow";
|
|
10
|
+
/** Properties for a service token scoped to one PlanetScale database. */
|
|
11
|
+
export interface ServiceTokenProps {
|
|
12
|
+
/** Name prefix. An instance suffix allows old and replacement tokens to coexist. */
|
|
13
|
+
name?: string;
|
|
14
|
+
/**
|
|
15
|
+
* Organization slug. Defaults to the database resource's organization, then
|
|
16
|
+
* to the configured PlanetScale organization.
|
|
17
|
+
*/
|
|
18
|
+
organization?: string;
|
|
19
|
+
/**
|
|
20
|
+
* The database the token is scoped to: its name, a {@link MySQLDatabase} or
|
|
21
|
+
* {@link PostgresDatabase} resource, or a `.ref(...)` to one deployed
|
|
22
|
+
* elsewhere. Changing it replaces the token.
|
|
23
|
+
*/
|
|
24
|
+
database: string | MySQLDatabase | PostgresDatabase;
|
|
25
|
+
/**
|
|
26
|
+
* Exact database permissions. Permissions not declared here are revoked.
|
|
27
|
+
* PlanetScale also accepts the Vitess-only accesses (`*_vschema`,
|
|
28
|
+
* `*_topology`, `*_workflow`) on a Postgres database.
|
|
29
|
+
*/
|
|
30
|
+
accesses: readonly ServiceTokenDatabaseAccess[];
|
|
31
|
+
}
|
|
32
|
+
/** Output attributes of a deployed PlanetScale service token. */
|
|
33
|
+
export interface ServiceTokenAttributes {
|
|
34
|
+
/** Service token ID. */
|
|
35
|
+
id: string;
|
|
36
|
+
/** Physical token name, including the instance suffix. */
|
|
37
|
+
name: string;
|
|
38
|
+
/** Organization that owns the token. */
|
|
39
|
+
organization: string;
|
|
40
|
+
/** Database to which the token is scoped. */
|
|
41
|
+
database: string;
|
|
42
|
+
/** Granted database permissions. */
|
|
43
|
+
accesses: readonly ServiceTokenDatabaseAccess[];
|
|
44
|
+
/** Creation-only secret, retained in Alchemy state for subsequent deploys. */
|
|
45
|
+
token: Redacted.Redacted<string>;
|
|
46
|
+
}
|
|
47
|
+
export type ServiceToken = Resource<"Planetscale.ServiceToken", ServiceTokenProps, ServiceTokenAttributes, never, Providers>;
|
|
48
|
+
/**
|
|
49
|
+
* A PlanetScale API service token with exactly the declared permissions on one database.
|
|
50
|
+
*
|
|
51
|
+
* The deployment identity must be allowed to create service tokens and manage
|
|
52
|
+
* their accesses. These API credentials are separate from database passwords.
|
|
53
|
+
*
|
|
54
|
+
* PlanetScale returns the secret only at creation. Alchemy preserves it in
|
|
55
|
+
* state; use a state backend that protects secrets. Existing tokens cannot be
|
|
56
|
+
* adopted because their secret cannot be recovered.
|
|
57
|
+
*
|
|
58
|
+
* Service tokens carry no labels or tags, so a token's physical name, which
|
|
59
|
+
* holds this resource's instance ID, is its only ownership marker. If a
|
|
60
|
+
* create is interrupted before Alchemy saves the token, the next destroy
|
|
61
|
+
* finds it by that name and revokes it, and the next deploy revokes it and
|
|
62
|
+
* mints a replacement, since its secret was never saved. `list` returns
|
|
63
|
+
* nothing: a name alone can't prove which stack made a token, and listing
|
|
64
|
+
* every token would offer an organization's other tokens to account-wide
|
|
65
|
+
* cleanup.
|
|
66
|
+
*
|
|
67
|
+
* Changing the name prefix, organization, or database creates a replacement.
|
|
68
|
+
* Resources that consume the token's outputs are updated before Alchemy deletes
|
|
69
|
+
* the previous token. Changes to `accesses` are reconciled in place.
|
|
70
|
+
*
|
|
71
|
+
* ### Creating a Database Token
|
|
72
|
+
* **Example:** Token for a database declared in the stack
|
|
73
|
+
* ```typescript
|
|
74
|
+
* const database = yield* Planetscale.MySQLDatabase("Database", {
|
|
75
|
+
* clusterSize: "PS_10",
|
|
76
|
+
* });
|
|
77
|
+
*
|
|
78
|
+
* const token = yield* Planetscale.ServiceToken("Sync", {
|
|
79
|
+
* database,
|
|
80
|
+
* accesses: ["read_database", "write_database"],
|
|
81
|
+
* });
|
|
82
|
+
* ```
|
|
83
|
+
*
|
|
84
|
+
* **Example:** Token for a Postgres database
|
|
85
|
+
* ```typescript
|
|
86
|
+
* const database = yield* Planetscale.PostgresDatabase("Database", {
|
|
87
|
+
* clusterSize: "PS_10",
|
|
88
|
+
* });
|
|
89
|
+
*
|
|
90
|
+
* const token = yield* Planetscale.ServiceToken("Backups", {
|
|
91
|
+
* database,
|
|
92
|
+
* accesses: ["read_backups", "write_backups"],
|
|
93
|
+
* });
|
|
94
|
+
* ```
|
|
95
|
+
*
|
|
96
|
+
* **Example:** Token for an existing database by name
|
|
97
|
+
* ```typescript
|
|
98
|
+
* const token = yield* Planetscale.ServiceToken("Sync", {
|
|
99
|
+
* database: "app-db",
|
|
100
|
+
* accesses: ["read_database"],
|
|
101
|
+
* });
|
|
102
|
+
* ```
|
|
103
|
+
*
|
|
104
|
+
* ### Referencing a Database from Another Stack
|
|
105
|
+
* **Example:** Token for a database another stack owns
|
|
106
|
+
* ```typescript
|
|
107
|
+
* const database = yield* Planetscale.MySQLDatabase.ref("Database", {
|
|
108
|
+
* stack: "shared-data",
|
|
109
|
+
* });
|
|
110
|
+
*
|
|
111
|
+
* const token = yield* Planetscale.ServiceToken("Sync", {
|
|
112
|
+
* database,
|
|
113
|
+
* accesses: ["read_deploy_request", "create_deploy_request"],
|
|
114
|
+
* });
|
|
115
|
+
* ```
|
|
116
|
+
*
|
|
117
|
+
* ### Rotating a Token
|
|
118
|
+
* **Example:** Rename the token to mint a replacement
|
|
119
|
+
* ```typescript
|
|
120
|
+
* // Changing `name` creates a new token; consumers are updated
|
|
121
|
+
* // before the previous token is revoked.
|
|
122
|
+
* const token = yield* Planetscale.ServiceToken("Sync", {
|
|
123
|
+
* name: "sync-2026-11",
|
|
124
|
+
* database,
|
|
125
|
+
* accesses: ["read_database"],
|
|
126
|
+
* });
|
|
127
|
+
* ```
|
|
128
|
+
*
|
|
129
|
+
* @resource
|
|
130
|
+
*/
|
|
131
|
+
export declare const ServiceToken: import("alchemy/Resource").ResourceClass<ServiceToken>;
|
|
132
|
+
declare const ServiceTokenError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
|
|
133
|
+
readonly _tag: "ServiceTokenError";
|
|
134
|
+
} & Readonly<A>;
|
|
135
|
+
/** A service token cannot satisfy the declared ownership or access contract. */
|
|
136
|
+
export declare class ServiceTokenError extends ServiceTokenError_base<{
|
|
137
|
+
readonly message: string;
|
|
138
|
+
}> {
|
|
139
|
+
}
|
|
140
|
+
export declare const ServiceTokenProvider: () => import("effect/Layer").Layer<Provider.Provider<ServiceToken>, never, import("alchemy/Stack").Stack | import("alchemy/Stage").Stage | planetscale.PlanetScaleOpContext>;
|
|
141
|
+
export {};
|
|
142
|
+
//# sourceMappingURL=ServiceToken.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ServiceToken.d.ts","sources":["../src/ServiceToken.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,WAAW,MAAM,8BAA8B,CAAC;AAI5D,OAAO,KAAK,QAAQ,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAK5C,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AAE5C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,oEAAoE;AACpE,MAAM,MAAM,0BAA0B,GAClC,eAAe,GACf,gBAAgB,GAChB,iBAAiB,GACjB,eAAe,GACf,aAAa,GACb,eAAe,GACf,0BAA0B,GAC1B,kBAAkB,GAClB,iBAAiB,GACjB,gBAAgB,GAChB,2BAA2B,GAC3B,qCAAqC,GACrC,wBAAwB,GACxB,mCAAmC,GACnC,6CAA6C,GAC7C,wBAAwB,GACxB,mCAAmC,GACnC,6CAA6C,GAC7C,uBAAuB,GACvB,qBAAqB,GACrB,wBAAwB,GACxB,uBAAuB,GACvB,gBAAgB,GAChB,cAAc,GACd,cAAc,GACd,eAAe,GACf,gBAAgB,GAChB,kCAAkC,GAClC,gBAAgB,GAChB,kCAAkC,GAClC,sBAAsB,GACtB,iCAAiC,GACjC,uBAAuB,GACvB,kCAAkC,GAClC,eAAe,GACf,gBAAgB,GAChB,iBAAiB,CAAC;AAEtB,yEAAyE;AACzE,MAAM,WAAW,iBAAiB;IAChC,oFAAoF;IACpF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,QAAQ,EAAE,MAAM,GAAG,aAAa,GAAG,gBAAgB,CAAC;IACpD;;;;OAIG;IACH,QAAQ,EAAE,SAAS,0BAA0B,EAAE,CAAC;CACjD;AAED,iEAAiE;AACjE,MAAM,WAAW,sBAAsB;IACrC,wBAAwB;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,0DAA0D;IAC1D,IAAI,EAAE,MAAM,CAAC;IACb,wCAAwC;IACxC,YAAY,EAAE,MAAM,CAAC;IACrB,6CAA6C;IAC7C,QAAQ,EAAE,MAAM,CAAC;IACjB,oCAAoC;IACpC,QAAQ,EAAE,SAAS,0BAA0B,EAAE,CAAC;IAChD,8EAA8E;IAC9E,KAAK,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;CAClC;AAED,MAAM,MAAM,YAAY,GAAG,QAAQ,CACjC,0BAA0B,EAC1B,iBAAiB,EACjB,sBAAsB,EACtB,KAAK,EACL,SAAS,CACV,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkFG;AACH,eAAO,MAAM,YAAY,wDAAqD,CAAC;;;;AAE/E,gFAAgF;AAChF,qBAAa,iBAAkB,SAAQ,uBAAsC;IAC3E,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B,CAAC;CAAG;AAEL,eAAO,MAAM,oBAAoB,8KAkH7B,CAAC"}
|
|
@@ -0,0 +1,268 @@
|
|
|
1
|
+
import * as planetscale from "@distilled.cloud/planetscale";
|
|
2
|
+
import { Credentials } from "@distilled.cloud/planetscale/Credentials";
|
|
3
|
+
import { isResolved } from "alchemy/Diff";
|
|
4
|
+
import { createPhysicalName } from "alchemy/PhysicalName";
|
|
5
|
+
import * as Provider from "alchemy/Provider";
|
|
6
|
+
import { Resource } from "alchemy/Resource";
|
|
7
|
+
import * as Array from "effect/Array";
|
|
8
|
+
import * as Data from "effect/Data";
|
|
9
|
+
import * as Effect from "effect/Effect";
|
|
10
|
+
import * as Exit from "effect/Exit";
|
|
11
|
+
import * as Redacted from "effect/Redacted";
|
|
12
|
+
import * as Stream from "effect/Stream";
|
|
13
|
+
/**
|
|
14
|
+
* A PlanetScale API service token with exactly the declared permissions on one database.
|
|
15
|
+
*
|
|
16
|
+
* The deployment identity must be allowed to create service tokens and manage
|
|
17
|
+
* their accesses. These API credentials are separate from database passwords.
|
|
18
|
+
*
|
|
19
|
+
* PlanetScale returns the secret only at creation. Alchemy preserves it in
|
|
20
|
+
* state; use a state backend that protects secrets. Existing tokens cannot be
|
|
21
|
+
* adopted because their secret cannot be recovered.
|
|
22
|
+
*
|
|
23
|
+
* Service tokens carry no labels or tags, so a token's physical name, which
|
|
24
|
+
* holds this resource's instance ID, is its only ownership marker. If a
|
|
25
|
+
* create is interrupted before Alchemy saves the token, the next destroy
|
|
26
|
+
* finds it by that name and revokes it, and the next deploy revokes it and
|
|
27
|
+
* mints a replacement, since its secret was never saved. `list` returns
|
|
28
|
+
* nothing: a name alone can't prove which stack made a token, and listing
|
|
29
|
+
* every token would offer an organization's other tokens to account-wide
|
|
30
|
+
* cleanup.
|
|
31
|
+
*
|
|
32
|
+
* Changing the name prefix, organization, or database creates a replacement.
|
|
33
|
+
* Resources that consume the token's outputs are updated before Alchemy deletes
|
|
34
|
+
* the previous token. Changes to `accesses` are reconciled in place.
|
|
35
|
+
*
|
|
36
|
+
* ### Creating a Database Token
|
|
37
|
+
* **Example:** Token for a database declared in the stack
|
|
38
|
+
* ```typescript
|
|
39
|
+
* const database = yield* Planetscale.MySQLDatabase("Database", {
|
|
40
|
+
* clusterSize: "PS_10",
|
|
41
|
+
* });
|
|
42
|
+
*
|
|
43
|
+
* const token = yield* Planetscale.ServiceToken("Sync", {
|
|
44
|
+
* database,
|
|
45
|
+
* accesses: ["read_database", "write_database"],
|
|
46
|
+
* });
|
|
47
|
+
* ```
|
|
48
|
+
*
|
|
49
|
+
* **Example:** Token for a Postgres database
|
|
50
|
+
* ```typescript
|
|
51
|
+
* const database = yield* Planetscale.PostgresDatabase("Database", {
|
|
52
|
+
* clusterSize: "PS_10",
|
|
53
|
+
* });
|
|
54
|
+
*
|
|
55
|
+
* const token = yield* Planetscale.ServiceToken("Backups", {
|
|
56
|
+
* database,
|
|
57
|
+
* accesses: ["read_backups", "write_backups"],
|
|
58
|
+
* });
|
|
59
|
+
* ```
|
|
60
|
+
*
|
|
61
|
+
* **Example:** Token for an existing database by name
|
|
62
|
+
* ```typescript
|
|
63
|
+
* const token = yield* Planetscale.ServiceToken("Sync", {
|
|
64
|
+
* database: "app-db",
|
|
65
|
+
* accesses: ["read_database"],
|
|
66
|
+
* });
|
|
67
|
+
* ```
|
|
68
|
+
*
|
|
69
|
+
* ### Referencing a Database from Another Stack
|
|
70
|
+
* **Example:** Token for a database another stack owns
|
|
71
|
+
* ```typescript
|
|
72
|
+
* const database = yield* Planetscale.MySQLDatabase.ref("Database", {
|
|
73
|
+
* stack: "shared-data",
|
|
74
|
+
* });
|
|
75
|
+
*
|
|
76
|
+
* const token = yield* Planetscale.ServiceToken("Sync", {
|
|
77
|
+
* database,
|
|
78
|
+
* accesses: ["read_deploy_request", "create_deploy_request"],
|
|
79
|
+
* });
|
|
80
|
+
* ```
|
|
81
|
+
*
|
|
82
|
+
* ### Rotating a Token
|
|
83
|
+
* **Example:** Rename the token to mint a replacement
|
|
84
|
+
* ```typescript
|
|
85
|
+
* // Changing `name` creates a new token; consumers are updated
|
|
86
|
+
* // before the previous token is revoked.
|
|
87
|
+
* const token = yield* Planetscale.ServiceToken("Sync", {
|
|
88
|
+
* name: "sync-2026-11",
|
|
89
|
+
* database,
|
|
90
|
+
* accesses: ["read_database"],
|
|
91
|
+
* });
|
|
92
|
+
* ```
|
|
93
|
+
*
|
|
94
|
+
* @resource
|
|
95
|
+
*/
|
|
96
|
+
export const ServiceToken = Resource("Planetscale.ServiceToken");
|
|
97
|
+
/** A service token cannot satisfy the declared ownership or access contract. */
|
|
98
|
+
export class ServiceTokenError extends Data.TaggedError("ServiceTokenError") {
|
|
99
|
+
}
|
|
100
|
+
export const ServiceTokenProvider = () => Provider.succeed(ServiceToken, {
|
|
101
|
+
list: () => Effect.succeed([]),
|
|
102
|
+
read: Effect.fn(function* ({ id, instanceId, olds, output }) {
|
|
103
|
+
if (output) {
|
|
104
|
+
const live = yield* getToken(output.organization, output.id);
|
|
105
|
+
return live ? { ...output, name: live.name ?? output.name } : undefined;
|
|
106
|
+
}
|
|
107
|
+
// An interrupted create leaves a token whose attributes were never
|
|
108
|
+
// saved. Its physical name ends with this instance's suffix, whatever
|
|
109
|
+
// prefix it was made with, so it is this resource's own: report it,
|
|
110
|
+
// with an empty placeholder for the secret that was lost, so destroy
|
|
111
|
+
// can revoke it.
|
|
112
|
+
if (!olds)
|
|
113
|
+
return undefined;
|
|
114
|
+
const organization = yield* organizationOf(olds);
|
|
115
|
+
const [live] = yield* instanceTokens(organization, id, instanceId);
|
|
116
|
+
return live
|
|
117
|
+
? {
|
|
118
|
+
id: live.id,
|
|
119
|
+
name: live.name,
|
|
120
|
+
organization,
|
|
121
|
+
database: databaseName(olds.database),
|
|
122
|
+
accesses: ordered(olds.accesses),
|
|
123
|
+
token: Redacted.make(""),
|
|
124
|
+
}
|
|
125
|
+
: undefined;
|
|
126
|
+
}),
|
|
127
|
+
diff: Effect.fn(function* ({ id, instanceId, olds, news, output }) {
|
|
128
|
+
if (!output)
|
|
129
|
+
return undefined;
|
|
130
|
+
const prefix = "name" in news ? news.name : undefined;
|
|
131
|
+
const org = "organization" in news ? news.organization : undefined;
|
|
132
|
+
// A computed identity can resolve to a different database after apply.
|
|
133
|
+
// Replace first so a failed dependent update keeps the old token usable.
|
|
134
|
+
if (!("database" in news) ||
|
|
135
|
+
!isResolved(news.database) ||
|
|
136
|
+
!isResolved(prefix) ||
|
|
137
|
+
!isResolved(org)) {
|
|
138
|
+
return { action: "replace" };
|
|
139
|
+
}
|
|
140
|
+
const organization = org ?? databaseOrganization(news.database) ?? (yield* yield* Credentials).organization;
|
|
141
|
+
const database = databaseName(news.database);
|
|
142
|
+
const name = yield* tokenName(id, instanceId, prefix);
|
|
143
|
+
if (output.organization !== organization ||
|
|
144
|
+
output.database !== database ||
|
|
145
|
+
output.name !== name ||
|
|
146
|
+
(olds && olds.name !== prefix)) {
|
|
147
|
+
return { action: "replace" };
|
|
148
|
+
}
|
|
149
|
+
const live = yield* getToken(output.organization, output.id);
|
|
150
|
+
if (!live || live.name !== name)
|
|
151
|
+
return { action: "replace" };
|
|
152
|
+
if (!("accesses" in news) || !isResolved(news.accesses)) {
|
|
153
|
+
return { action: "update" };
|
|
154
|
+
}
|
|
155
|
+
return exactAccess((yield* planetscale.listServiceTokenAccesses({ organization, id: output.id })).data, database, news.accesses)
|
|
156
|
+
? undefined
|
|
157
|
+
: { action: "update" };
|
|
158
|
+
}),
|
|
159
|
+
reconcile: Effect.fn(function* ({ id, instanceId, news, output }) {
|
|
160
|
+
const organization = yield* organizationOf(news);
|
|
161
|
+
const database = databaseName(news.database);
|
|
162
|
+
const name = yield* tokenName(id, instanceId, news.name);
|
|
163
|
+
let observed = output ? yield* getToken(output.organization, output.id) : undefined;
|
|
164
|
+
// A live token whose secret was never saved can't reach its consumers,
|
|
165
|
+
// who never received it either: revoke it and mint a replacement.
|
|
166
|
+
if (observed && output && Redacted.value(output.token) === "") {
|
|
167
|
+
yield* deleteToken(output.organization, output.id);
|
|
168
|
+
observed = undefined;
|
|
169
|
+
}
|
|
170
|
+
else if (!observed) {
|
|
171
|
+
for (const orphan of yield* instanceTokens(organization, id, instanceId)) {
|
|
172
|
+
yield* deleteToken(organization, orphan.id);
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
return yield* Effect.acquireUseRelease(observed
|
|
176
|
+
? Effect.succeed(observed)
|
|
177
|
+
: planetscale
|
|
178
|
+
.createServiceToken({ organization, name })
|
|
179
|
+
// A retried create can lose the only response containing the secret.
|
|
180
|
+
.pipe(planetscale.Retry.none), Effect.fn(function* (live) {
|
|
181
|
+
const token = observed ? output?.token : live.token;
|
|
182
|
+
if (!token) {
|
|
183
|
+
return yield* new ServiceTokenError({
|
|
184
|
+
message: `The creation-only secret for service token ${live.id} is unavailable.`,
|
|
185
|
+
});
|
|
186
|
+
}
|
|
187
|
+
yield* ensureAccess(organization, live.id, database, news.accesses);
|
|
188
|
+
return {
|
|
189
|
+
id: live.id,
|
|
190
|
+
name: live.name ?? name,
|
|
191
|
+
organization,
|
|
192
|
+
database,
|
|
193
|
+
accesses: ordered(news.accesses),
|
|
194
|
+
token,
|
|
195
|
+
};
|
|
196
|
+
}), (live, exit) => !observed && Exit.isFailure(exit) ? deleteToken(organization, live.id) : Effect.void);
|
|
197
|
+
}),
|
|
198
|
+
delete: Effect.fn(function* ({ output }) {
|
|
199
|
+
yield* deleteToken(output.organization, output.id);
|
|
200
|
+
}),
|
|
201
|
+
});
|
|
202
|
+
const databaseName = (database) => {
|
|
203
|
+
const input = database;
|
|
204
|
+
return typeof input === "string" ? input : input.name;
|
|
205
|
+
};
|
|
206
|
+
const databaseOrganization = (database) => {
|
|
207
|
+
const input = database;
|
|
208
|
+
return typeof input === "string" ? undefined : input.organization;
|
|
209
|
+
};
|
|
210
|
+
const organizationOf = Effect.fnUntraced(function* (props) {
|
|
211
|
+
return (props.organization ??
|
|
212
|
+
databaseOrganization(props.database) ??
|
|
213
|
+
(yield* yield* Credentials).organization);
|
|
214
|
+
});
|
|
215
|
+
const tokenName = (id, instanceId, prefix) => createPhysicalName({ id, instanceId, prefix: prefix === undefined ? undefined : `${prefix}-` });
|
|
216
|
+
const ordered = (accesses) => Array.dedupe(accesses).toSorted();
|
|
217
|
+
const getToken = (organization, id) => planetscale
|
|
218
|
+
.getServiceToken({ organization, id })
|
|
219
|
+
.pipe(Effect.catchTag("NotFound", () => Effect.undefined));
|
|
220
|
+
/**
|
|
221
|
+
* The organization's tokens made by this resource instance: their names end
|
|
222
|
+
* with its 80-bit instance suffix, whatever prefix each was made with (a
|
|
223
|
+
* truncated name keeps the suffix last, after a hash, with no delimiter).
|
|
224
|
+
*/
|
|
225
|
+
const instanceTokens = Effect.fnUntraced(function* (organization, id, instanceId) {
|
|
226
|
+
const suffix = yield* createPhysicalName({ id, instanceId, prefix: "" });
|
|
227
|
+
return yield* planetscale.listServiceTokens.items({ organization }).pipe(Stream.runCollect, Effect.map((tokens) => Array.fromIterable(tokens).flatMap(({ id, name }) => name?.endsWith(suffix) ? [{ id, name }] : [])));
|
|
228
|
+
});
|
|
229
|
+
const deleteToken = (organization, id) => planetscale
|
|
230
|
+
.deleteServiceToken({ organization, id })
|
|
231
|
+
.pipe(Effect.catchTag("NotFound", () => Effect.void));
|
|
232
|
+
const exactAccess = (current, database, desired) => current.length === ordered(desired).length &&
|
|
233
|
+
desired.every((access) => current.some((entry) => entry.access === access)) &&
|
|
234
|
+
current.every((entry) => entry.resource.type === "Database" &&
|
|
235
|
+
entry.resource.name === database &&
|
|
236
|
+
desired.includes(entry.access));
|
|
237
|
+
const ensureAccess = Effect.fn(function* (organization, id, database, accesses) {
|
|
238
|
+
const current = (yield* planetscale.listServiceTokenAccesses({ organization, id })).data;
|
|
239
|
+
for (const entry of current) {
|
|
240
|
+
if (entry.resource.type !== "Database" ||
|
|
241
|
+
entry.resource.name !== database ||
|
|
242
|
+
!accesses.some((access) => access === entry.access)) {
|
|
243
|
+
yield* planetscale.removeServiceTokenAccess({
|
|
244
|
+
organization,
|
|
245
|
+
id,
|
|
246
|
+
database: entry.resource.type === "Database" ? entry.resource.name : "",
|
|
247
|
+
access: [entry.access],
|
|
248
|
+
});
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
const missing = ordered(accesses).filter((access) => !current.some((entry) => entry.resource.type === "Database" &&
|
|
252
|
+
entry.resource.name === database &&
|
|
253
|
+
entry.access === access));
|
|
254
|
+
if (missing.length > 0) {
|
|
255
|
+
yield* planetscale.addServiceTokenAccess({
|
|
256
|
+
organization,
|
|
257
|
+
id,
|
|
258
|
+
database: database,
|
|
259
|
+
access: missing,
|
|
260
|
+
});
|
|
261
|
+
}
|
|
262
|
+
if (!exactAccess((yield* planetscale.listServiceTokenAccesses({ organization, id })).data, database, accesses)) {
|
|
263
|
+
return yield* new ServiceTokenError({
|
|
264
|
+
message: `Service token ${id} did not converge to its declared database permissions.`,
|
|
265
|
+
});
|
|
266
|
+
}
|
|
267
|
+
});
|
|
268
|
+
//# sourceMappingURL=ServiceToken.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ServiceToken.js","sources":["../src/ServiceToken.ts"],"names":[],"mappings":"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"}
|
package/lib/Util.d.ts
CHANGED
|
@@ -46,7 +46,7 @@ export declare class PlanetscaleDeletionProtected extends PlanetscaleDeletionPro
|
|
|
46
46
|
* case it fails with {@link PlanetscaleDeletionProtected}. A database that
|
|
47
47
|
* no longer exists counts as deleted.
|
|
48
48
|
*/
|
|
49
|
-
export declare const deleteUnprotectedDatabase: (organization: string, database: string) => Effect.Effect<undefined, ps.BadGateway | ps.BadRequest | ps.ConfigError | ps.Conflict | ps.Forbidden | ps.Services.planetscale.Forbidden | ps.GatewayTimeout | import("effect/http/HttpClientError").HttpClientError | ps.InternalServerError | ps.Locked | ps.PlanetScaleParseError | PlanetscaleDeletionProtected | ps.ServiceUnavailable | ps.TooManyRequests | ps.Unauthorized | ps.UnknownPlanetScaleError | ps.UnprocessableEntity | ps.Services.planetscale.UnprocessableEntity, ps.PlanetScaleOpContext>;
|
|
49
|
+
export declare const deleteUnprotectedDatabase: (organization: string, database: string) => Effect.Effect<undefined, ps.BadGateway | ps.BadRequest | ps.ConfigError | ps.Conflict | ps.Forbidden | ps.Services.planetscale.Forbidden | ps.GatewayTimeout | import("effect/http/HttpClientError").HttpClientError | ps.InternalServerError | import("@distilled.cloud/core/protocol-http").InvalidInput | ps.Locked | ps.PlanetScaleParseError | PlanetscaleDeletionProtected | import("@distilled.cloud/core/sdk-error").SdkError | ps.ServiceUnavailable | ps.TooManyRequests | ps.Unauthorized | ps.UnknownPlanetScaleError | ps.UnprocessableEntity | ps.Services.planetscale.UnprocessableEntity, ps.PlanetScaleOpContext>;
|
|
50
50
|
/**
|
|
51
51
|
* Plans a database replacement. A replacement creates the new database
|
|
52
52
|
* before deleting the old one, so an explicit `name` that stays the same
|
|
@@ -77,7 +77,7 @@ export declare const pollUntil: <A, E, R>(description: string, fn: Effect.Effect
|
|
|
77
77
|
* expectation-setting so the CLI surfaces progress while we sit in the spaced
|
|
78
78
|
* retry loop.
|
|
79
79
|
*/
|
|
80
|
-
export declare const waitForBranchReady: (organization: string, database: string, branch: string, session?: ScopedPlanStatusSession | undefined) => Effect.Effect<ps.DatabaseBranch, ps.BadGateway | ps.BadRequest | ps.ConfigError | ps.Conflict | ps.Forbidden | ps.Services.planetscale.Forbidden | ps.GatewayTimeout | import("effect/http/HttpClientError").HttpClientError | ps.InternalServerError | ps.Locked | NotReady | ps.PlanetScaleParseError | ps.ServiceUnavailable | ps.TooManyRequests | ps.Unauthorized | ps.UnknownPlanetScaleError | ps.UnprocessableEntity | ps.Services.planetscale.UnprocessableEntity, ps.PlanetScaleOpContext>;
|
|
80
|
+
export declare const waitForBranchReady: (organization: string, database: string, branch: string, session?: ScopedPlanStatusSession | undefined) => Effect.Effect<ps.DatabaseBranch, ps.BadGateway | ps.BadRequest | ps.ConfigError | ps.Conflict | ps.Forbidden | ps.Services.planetscale.Forbidden | ps.GatewayTimeout | import("effect/http/HttpClientError").HttpClientError | ps.InternalServerError | import("@distilled.cloud/core/protocol-http").InvalidInput | ps.Locked | NotReady | ps.PlanetScaleParseError | import("@distilled.cloud/core/sdk-error").SdkError | ps.ServiceUnavailable | ps.TooManyRequests | ps.Unauthorized | ps.UnknownPlanetScaleError | ps.UnprocessableEntity | ps.Services.planetscale.UnprocessableEntity, ps.PlanetScaleOpContext>;
|
|
81
81
|
/**
|
|
82
82
|
* Polls a database via `getDatabase` until it reports `ready === true`.
|
|
83
83
|
* `NotFound` during polling is treated as not-yet-ready (the database is
|
|
@@ -87,7 +87,7 @@ export declare const waitForBranchReady: (organization: string, database: string
|
|
|
87
87
|
* expectation-setting so the CLI surfaces progress while we sit in the spaced
|
|
88
88
|
* retry loop.
|
|
89
89
|
*/
|
|
90
|
-
export declare const waitForDatabaseReady: (organization: string, database: string, session?: ScopedPlanStatusSession | undefined) => Effect.Effect<ps.Database, ps.BadGateway | ps.BadRequest | ps.ConfigError | ps.Conflict | ps.Forbidden | ps.Services.planetscale.Forbidden | ps.GatewayTimeout | import("effect/http/HttpClientError").HttpClientError | ps.InternalServerError | ps.Locked | NotReady | ps.PlanetScaleParseError | ps.ServiceUnavailable | ps.TooManyRequests | ps.Unauthorized | ps.UnknownPlanetScaleError | ps.UnprocessableEntity | ps.Services.planetscale.UnprocessableEntity, ps.PlanetScaleOpContext>;
|
|
90
|
+
export declare const waitForDatabaseReady: (organization: string, database: string, session?: ScopedPlanStatusSession | undefined) => Effect.Effect<ps.Database, ps.BadGateway | ps.BadRequest | ps.ConfigError | ps.Conflict | ps.Forbidden | ps.Services.planetscale.Forbidden | ps.GatewayTimeout | import("effect/http/HttpClientError").HttpClientError | ps.InternalServerError | import("@distilled.cloud/core/protocol-http").InvalidInput | ps.Locked | NotReady | ps.PlanetScaleParseError | import("@distilled.cloud/core/sdk-error").SdkError | ps.ServiceUnavailable | ps.TooManyRequests | ps.Unauthorized | ps.UnknownPlanetScaleError | ps.UnprocessableEntity | ps.Services.planetscale.UnprocessableEntity, ps.PlanetScaleOpContext>;
|
|
91
91
|
export declare const isKnownError: (tag: string, message: string) => (error: unknown) => boolean;
|
|
92
92
|
export {};
|
|
93
93
|
//# sourceMappingURL=Util.d.ts.map
|
package/lib/Util.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Util.d.ts","
|
|
1
|
+
{"version":3,"file":"Util.d.ts","sources":["../src/Util.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,8BAA8B,CAAC;AACnD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAG9D,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAC;;;;AAE5C;;;;GAIG;AACH,qBAAa,QAAS,SAAQ,cAA0C;IACtE,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;CAAG;;;;AAEL;;;;;GAKG;AACH,qBAAa,mBAAoB,SAAQ,yBAA0C;IACjF,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;CAAG;;;;AAEL;;;;GAIG;AACH,qBAAa,4BAA6B,SAAQ,kCAEhD;IACA,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;CAAG;AAEL;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,gpBAuBpC,CAAC;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,SACpB;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,UACf;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,UAC5B,MAAM;qBAYe,SAAS;gBAAY,CAAC;AAWrD;;;;;GAKG;AACH,eAAO,MAAM,SAAS,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,eAClB,MAAM,MACf,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,aACf,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,aACtB,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,KACnD,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAUK,CAAC;AAE9B;;;;;;;;GAQG;AACH,eAAO,MAAM,kBAAkB,msBAyB7B,CAAC;AAEH;;;;;;;;GAQG;AACH,eAAO,MAAM,oBAAoB,6qBA4B/B,CAAC;AAEH,eAAO,MAAM,YAAY,QAAS,MAAM,WAAW,MAAM,aAAa,OAAO,YAId,CAAC"}
|
package/lib/Util.js
CHANGED
|
@@ -33,7 +33,7 @@ export class PlanetscaleDeletionProtected extends Data.TaggedError("Planetscale:
|
|
|
33
33
|
export const deleteUnprotectedDatabase = Effect.fn(function* (organization, database) {
|
|
34
34
|
const live = yield* ps
|
|
35
35
|
.getDatabase({ organization, database })
|
|
36
|
-
.pipe(Effect.catchTag("NotFound", () => Effect.
|
|
36
|
+
.pipe(Effect.catchTag("NotFound", () => Effect.undefined));
|
|
37
37
|
if (!live)
|
|
38
38
|
return;
|
|
39
39
|
if (live.deletion_protected) {
|