@develit-io/backend-sdk 5.21.3 → 5.21.5
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/dist/index.cjs +2 -160
- package/dist/index.d.cts +7 -78
- package/dist/index.d.mts +7 -78
- package/dist/index.d.ts +7 -78
- package/dist/index.mjs +2 -157
- package/dist/infrastructure/index.cjs +167 -0
- package/dist/infrastructure/index.d.cts +115 -0
- package/dist/infrastructure/index.d.mts +115 -0
- package/dist/infrastructure/index.d.ts +115 -0
- package/dist/infrastructure/index.mjs +157 -0
- package/dist/shared/backend-sdk.B4rrbKNu.d.cts +5 -0
- package/dist/shared/backend-sdk.B4rrbKNu.d.mts +5 -0
- package/dist/shared/backend-sdk.B4rrbKNu.d.ts +5 -0
- package/dist/shared/backend-sdk.BdcrYpFD.cjs +5 -0
- package/dist/shared/backend-sdk.DXRpnctc.mjs +3 -0
- package/package.json +9 -5
package/dist/index.mjs
CHANGED
|
@@ -2,8 +2,7 @@ import { sql } from 'drizzle-orm';
|
|
|
2
2
|
import { timestamp, uuid, pgEnum, text as text$1 } from 'drizzle-orm/pg-core';
|
|
3
3
|
import { integer, text } from 'drizzle-orm/sqlite-core';
|
|
4
4
|
import { COUNTRY_CODES_2, CURRENCY_CODES, BANK_CODES } from '@develit-io/general-codes';
|
|
5
|
-
|
|
6
|
-
import { KVNamespace, D1Database, Queue, R2Bucket } from 'alchemy/cloudflare';
|
|
5
|
+
export { E as ENVIRONMENT } from './shared/backend-sdk.DXRpnctc.mjs';
|
|
7
6
|
import * as z from 'zod/v4/core';
|
|
8
7
|
import 'http-status-codes';
|
|
9
8
|
import { createError } from 'h3';
|
|
@@ -56,160 +55,6 @@ const bankAccountPostgres = {
|
|
|
56
55
|
countryCode: bankAccountCountryCodeEnum().$type().notNull()
|
|
57
56
|
};
|
|
58
57
|
|
|
59
|
-
const composeD1Arguments = ({
|
|
60
|
-
resourceName
|
|
61
|
-
}) => {
|
|
62
|
-
return {
|
|
63
|
-
name: resourceName,
|
|
64
|
-
primaryLocationHint: "weur"
|
|
65
|
-
// TODO: It's possible that it will take care of migrations as well
|
|
66
|
-
};
|
|
67
|
-
};
|
|
68
|
-
|
|
69
|
-
const composeKvArguments = ({
|
|
70
|
-
resourceName
|
|
71
|
-
}) => {
|
|
72
|
-
return {
|
|
73
|
-
title: resourceName
|
|
74
|
-
};
|
|
75
|
-
};
|
|
76
|
-
|
|
77
|
-
const composeQueueArguments = ({
|
|
78
|
-
resourceName,
|
|
79
|
-
deliveryDelay = 5,
|
|
80
|
-
messageRetentionPeriod = 259200
|
|
81
|
-
}) => {
|
|
82
|
-
return {
|
|
83
|
-
name: resourceName,
|
|
84
|
-
settings: {
|
|
85
|
-
deliveryDelay,
|
|
86
|
-
messageRetentionPeriod
|
|
87
|
-
}
|
|
88
|
-
};
|
|
89
|
-
};
|
|
90
|
-
|
|
91
|
-
const composeR2Arguments = ({
|
|
92
|
-
resourceName,
|
|
93
|
-
storageClass = "Standard"
|
|
94
|
-
}) => {
|
|
95
|
-
return {
|
|
96
|
-
name: resourceName,
|
|
97
|
-
jurisdiction: "eu",
|
|
98
|
-
locationHint: "weur",
|
|
99
|
-
storageClass
|
|
100
|
-
};
|
|
101
|
-
};
|
|
102
|
-
|
|
103
|
-
const composeBindingName = ({
|
|
104
|
-
resource,
|
|
105
|
-
resourceName,
|
|
106
|
-
bindingName
|
|
107
|
-
}) => {
|
|
108
|
-
const convertedBindingName = bindingName ? toSnakeCase(bindingName) : `${toSnakeCase(resourceName)}_${resource}`;
|
|
109
|
-
return convertedBindingName.toUpperCase();
|
|
110
|
-
};
|
|
111
|
-
const composeIdentifierName = ({
|
|
112
|
-
resource,
|
|
113
|
-
resourceName
|
|
114
|
-
}) => {
|
|
115
|
-
return `${resourceName}-${resource}`;
|
|
116
|
-
};
|
|
117
|
-
const composeResourceName = ({
|
|
118
|
-
project,
|
|
119
|
-
environment,
|
|
120
|
-
resourceName
|
|
121
|
-
}) => {
|
|
122
|
-
return `${project}-${resourceName}-${environment}`;
|
|
123
|
-
};
|
|
124
|
-
|
|
125
|
-
class Infrastructure {
|
|
126
|
-
project;
|
|
127
|
-
environment;
|
|
128
|
-
constructor({
|
|
129
|
-
project,
|
|
130
|
-
environment
|
|
131
|
-
}) {
|
|
132
|
-
this.project = project;
|
|
133
|
-
this.environment = environment;
|
|
134
|
-
}
|
|
135
|
-
/**
|
|
136
|
-
* Creates an instance of Cloudflare KV.
|
|
137
|
-
*/
|
|
138
|
-
async kv(options) {
|
|
139
|
-
const { resourceName } = options;
|
|
140
|
-
return await KVNamespace(
|
|
141
|
-
composeIdentifierName({ resourceName, resource: "kv" }),
|
|
142
|
-
composeKvArguments({
|
|
143
|
-
resourceName: composeResourceName({
|
|
144
|
-
project: this.project,
|
|
145
|
-
environment: this.environment,
|
|
146
|
-
resourceName
|
|
147
|
-
})
|
|
148
|
-
})
|
|
149
|
-
);
|
|
150
|
-
}
|
|
151
|
-
/**
|
|
152
|
-
* Creates an instance of Cloudflare D1.
|
|
153
|
-
*/
|
|
154
|
-
async d1(options) {
|
|
155
|
-
const { resourceName } = options;
|
|
156
|
-
return await D1Database(
|
|
157
|
-
composeIdentifierName({ resourceName, resource: "d1" }),
|
|
158
|
-
composeD1Arguments({
|
|
159
|
-
resourceName: composeResourceName({
|
|
160
|
-
project: this.project,
|
|
161
|
-
environment: this.environment,
|
|
162
|
-
resourceName
|
|
163
|
-
})
|
|
164
|
-
})
|
|
165
|
-
);
|
|
166
|
-
}
|
|
167
|
-
/**
|
|
168
|
-
* Creates an instance of Cloudflare Queue.
|
|
169
|
-
*/
|
|
170
|
-
async queue(options) {
|
|
171
|
-
const { resourceName, deliveryDelay, messageRetentionPeriod } = options;
|
|
172
|
-
return await Queue(
|
|
173
|
-
composeIdentifierName({ resourceName, resource: "queue" }),
|
|
174
|
-
composeQueueArguments({
|
|
175
|
-
resourceName: composeResourceName({
|
|
176
|
-
project: this.project,
|
|
177
|
-
environment: this.environment,
|
|
178
|
-
resourceName
|
|
179
|
-
}),
|
|
180
|
-
deliveryDelay,
|
|
181
|
-
messageRetentionPeriod
|
|
182
|
-
})
|
|
183
|
-
);
|
|
184
|
-
}
|
|
185
|
-
/**
|
|
186
|
-
* Creates an instance of Cloudflare R2.
|
|
187
|
-
*/
|
|
188
|
-
async r2(options) {
|
|
189
|
-
const { resourceName, storageClass } = options;
|
|
190
|
-
return await R2Bucket(
|
|
191
|
-
composeIdentifierName({ resourceName, resource: "r2" }),
|
|
192
|
-
composeR2Arguments({
|
|
193
|
-
resourceName: composeResourceName({
|
|
194
|
-
project: this.project,
|
|
195
|
-
environment: this.environment,
|
|
196
|
-
resourceName
|
|
197
|
-
}),
|
|
198
|
-
storageClass
|
|
199
|
-
})
|
|
200
|
-
);
|
|
201
|
-
}
|
|
202
|
-
}
|
|
203
|
-
|
|
204
|
-
const ENVIRONMENT = ["dev", "test", "staging", "production"];
|
|
205
|
-
|
|
206
|
-
const validateEnvironment = (environment) => {
|
|
207
|
-
if (ENVIRONMENT.includes(environment)) {
|
|
208
|
-
return environment;
|
|
209
|
-
}
|
|
210
|
-
return Number(environment);
|
|
211
|
-
};
|
|
212
|
-
|
|
213
58
|
const ibanZodSchema = new z.$ZodString({
|
|
214
59
|
type: "string",
|
|
215
60
|
checks: [
|
|
@@ -874,4 +719,4 @@ function develitWorker(Worker) {
|
|
|
874
719
|
return DevelitWorker;
|
|
875
720
|
}
|
|
876
721
|
|
|
877
|
-
export { DatabaseTransaction,
|
|
722
|
+
export { DatabaseTransaction, RPCResponse, action, bankAccount, bankAccountBankCodeEnum, bankAccountCountryCodeEnum, bankAccountCurrencyEnum, bankAccountPostgres, base, basePostgres, calculateExponentialBackoff, cloudflareQueue, createAuditLogWriter, createInternalError, defineCommand, derivePortFromId, develitWorker, durableObjectNamespaceIdFromName, first, firstOrError, getD1Credentials, getD1DatabaseIdFromWrangler, getDrizzleD1Config, getDrizzlePgConfig, getPgCredentials, getPgDatabaseIdFromWrangler, getPgLocalConnectionString, handleAction, handleActionResponse, ibanZodSchema, isInternalError, paginationQuerySchema, paginationSchema, service, swiftZodSchema, useFetch, useResult, useResultSync, uuidv4 };
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const text = require('@std/text');
|
|
4
|
+
const cloudflare = require('alchemy/cloudflare');
|
|
5
|
+
const environment_consts = require('../shared/backend-sdk.BdcrYpFD.cjs');
|
|
6
|
+
|
|
7
|
+
const composeD1Arguments = ({
|
|
8
|
+
resourceName
|
|
9
|
+
}) => {
|
|
10
|
+
return {
|
|
11
|
+
name: resourceName,
|
|
12
|
+
primaryLocationHint: "weur"
|
|
13
|
+
// TODO: It's possible that it will take care of migrations as well
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
const composeKvArguments = ({
|
|
18
|
+
resourceName
|
|
19
|
+
}) => {
|
|
20
|
+
return {
|
|
21
|
+
title: resourceName
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
const composeQueueArguments = ({
|
|
26
|
+
resourceName,
|
|
27
|
+
deliveryDelay = 5,
|
|
28
|
+
messageRetentionPeriod = 259200
|
|
29
|
+
}) => {
|
|
30
|
+
return {
|
|
31
|
+
name: resourceName,
|
|
32
|
+
settings: {
|
|
33
|
+
deliveryDelay,
|
|
34
|
+
messageRetentionPeriod
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
const composeR2Arguments = ({
|
|
40
|
+
resourceName,
|
|
41
|
+
storageClass = "Standard"
|
|
42
|
+
}) => {
|
|
43
|
+
return {
|
|
44
|
+
name: resourceName,
|
|
45
|
+
jurisdiction: "eu",
|
|
46
|
+
locationHint: "weur",
|
|
47
|
+
storageClass
|
|
48
|
+
};
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
const composeBindingName = ({
|
|
52
|
+
resource,
|
|
53
|
+
resourceName,
|
|
54
|
+
bindingName
|
|
55
|
+
}) => {
|
|
56
|
+
const convertedBindingName = bindingName ? text.toSnakeCase(bindingName) : `${text.toSnakeCase(resourceName)}_${resource}`;
|
|
57
|
+
return convertedBindingName.toUpperCase();
|
|
58
|
+
};
|
|
59
|
+
const composeIdentifierName = ({
|
|
60
|
+
resource,
|
|
61
|
+
resourceName
|
|
62
|
+
}) => {
|
|
63
|
+
return `${resourceName}-${resource}`;
|
|
64
|
+
};
|
|
65
|
+
const composeResourceName = ({
|
|
66
|
+
project,
|
|
67
|
+
environment,
|
|
68
|
+
resourceName
|
|
69
|
+
}) => {
|
|
70
|
+
return `${project}-${resourceName}-${environment}`;
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
class Infrastructure {
|
|
74
|
+
project;
|
|
75
|
+
environment;
|
|
76
|
+
constructor({
|
|
77
|
+
project,
|
|
78
|
+
environment
|
|
79
|
+
}) {
|
|
80
|
+
this.project = project;
|
|
81
|
+
this.environment = environment;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Creates an instance of Cloudflare KV.
|
|
85
|
+
*/
|
|
86
|
+
async kv(options) {
|
|
87
|
+
const { resourceName } = options;
|
|
88
|
+
return await cloudflare.KVNamespace(
|
|
89
|
+
composeIdentifierName({ resourceName, resource: "kv" }),
|
|
90
|
+
composeKvArguments({
|
|
91
|
+
resourceName: composeResourceName({
|
|
92
|
+
project: this.project,
|
|
93
|
+
environment: this.environment,
|
|
94
|
+
resourceName
|
|
95
|
+
})
|
|
96
|
+
})
|
|
97
|
+
);
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Creates an instance of Cloudflare D1.
|
|
101
|
+
*/
|
|
102
|
+
async d1(options) {
|
|
103
|
+
const { resourceName } = options;
|
|
104
|
+
return await cloudflare.D1Database(
|
|
105
|
+
composeIdentifierName({ resourceName, resource: "d1" }),
|
|
106
|
+
composeD1Arguments({
|
|
107
|
+
resourceName: composeResourceName({
|
|
108
|
+
project: this.project,
|
|
109
|
+
environment: this.environment,
|
|
110
|
+
resourceName
|
|
111
|
+
})
|
|
112
|
+
})
|
|
113
|
+
);
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Creates an instance of Cloudflare Queue.
|
|
117
|
+
*/
|
|
118
|
+
async queue(options) {
|
|
119
|
+
const { resourceName, deliveryDelay, messageRetentionPeriod } = options;
|
|
120
|
+
return await cloudflare.Queue(
|
|
121
|
+
composeIdentifierName({ resourceName, resource: "queue" }),
|
|
122
|
+
composeQueueArguments({
|
|
123
|
+
resourceName: composeResourceName({
|
|
124
|
+
project: this.project,
|
|
125
|
+
environment: this.environment,
|
|
126
|
+
resourceName
|
|
127
|
+
}),
|
|
128
|
+
deliveryDelay,
|
|
129
|
+
messageRetentionPeriod
|
|
130
|
+
})
|
|
131
|
+
);
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Creates an instance of Cloudflare R2.
|
|
135
|
+
*/
|
|
136
|
+
async r2(options) {
|
|
137
|
+
const { resourceName, storageClass } = options;
|
|
138
|
+
return await cloudflare.R2Bucket(
|
|
139
|
+
composeIdentifierName({ resourceName, resource: "r2" }),
|
|
140
|
+
composeR2Arguments({
|
|
141
|
+
resourceName: composeResourceName({
|
|
142
|
+
project: this.project,
|
|
143
|
+
environment: this.environment,
|
|
144
|
+
resourceName
|
|
145
|
+
}),
|
|
146
|
+
storageClass
|
|
147
|
+
})
|
|
148
|
+
);
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
const validateEnvironment = (environment) => {
|
|
153
|
+
if (environment_consts.ENVIRONMENT.includes(environment)) {
|
|
154
|
+
return environment;
|
|
155
|
+
}
|
|
156
|
+
return Number(environment);
|
|
157
|
+
};
|
|
158
|
+
|
|
159
|
+
exports.Infrastructure = Infrastructure;
|
|
160
|
+
exports.composeBindingName = composeBindingName;
|
|
161
|
+
exports.composeD1Arguments = composeD1Arguments;
|
|
162
|
+
exports.composeIdentifierName = composeIdentifierName;
|
|
163
|
+
exports.composeKvArguments = composeKvArguments;
|
|
164
|
+
exports.composeQueueArguments = composeQueueArguments;
|
|
165
|
+
exports.composeR2Arguments = composeR2Arguments;
|
|
166
|
+
exports.composeResourceName = composeResourceName;
|
|
167
|
+
exports.validateEnvironment = validateEnvironment;
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { P as Project, E as Environment } from '../shared/backend-sdk.B4rrbKNu.cjs';
|
|
2
|
+
import { KVNamespace, D1Database, Queue, R2Bucket } from 'alchemy/cloudflare';
|
|
3
|
+
|
|
4
|
+
type Resource = 'kv' | 'd1' | 'queue' | 'r2' | 'worker' | 'service' | 'orchestrator';
|
|
5
|
+
|
|
6
|
+
declare class Infrastructure {
|
|
7
|
+
private project;
|
|
8
|
+
private environment;
|
|
9
|
+
constructor({ project, environment, }: {
|
|
10
|
+
project: Project;
|
|
11
|
+
environment: Environment;
|
|
12
|
+
});
|
|
13
|
+
/**
|
|
14
|
+
* Creates an instance of Cloudflare KV.
|
|
15
|
+
*/
|
|
16
|
+
kv(options: {
|
|
17
|
+
/**
|
|
18
|
+
* Name of the KV. Do not include the 'kv' prefix.
|
|
19
|
+
*/
|
|
20
|
+
resourceName: string;
|
|
21
|
+
}): Promise<KVNamespace>;
|
|
22
|
+
/**
|
|
23
|
+
* Creates an instance of Cloudflare D1.
|
|
24
|
+
*/
|
|
25
|
+
d1(options: {
|
|
26
|
+
/**
|
|
27
|
+
* Name of the D1. Do not include the 'd1' prefix.
|
|
28
|
+
*/
|
|
29
|
+
resourceName: string;
|
|
30
|
+
}): Promise<D1Database>;
|
|
31
|
+
/**
|
|
32
|
+
* Creates an instance of Cloudflare Queue.
|
|
33
|
+
*/
|
|
34
|
+
queue(options: {
|
|
35
|
+
/**
|
|
36
|
+
* Name of the Queue. Do not include the 'queue' prefix.
|
|
37
|
+
*/
|
|
38
|
+
resourceName: string;
|
|
39
|
+
/**
|
|
40
|
+
* The number of seconds to delay delivery of messages to the queue.
|
|
41
|
+
*/
|
|
42
|
+
deliveryDelay?: number;
|
|
43
|
+
/**
|
|
44
|
+
* The number of seconds a message will remain in the queue before being deleted.
|
|
45
|
+
*/
|
|
46
|
+
messageRetentionPeriod?: number;
|
|
47
|
+
}): Promise<Queue<unknown>>;
|
|
48
|
+
/**
|
|
49
|
+
* Creates an instance of Cloudflare R2.
|
|
50
|
+
*/
|
|
51
|
+
r2(options: {
|
|
52
|
+
/**
|
|
53
|
+
* Name of the R2. Do not include the 'r2' prefix.
|
|
54
|
+
*/
|
|
55
|
+
resourceName: string;
|
|
56
|
+
/**
|
|
57
|
+
* The storage class for the R2 bucket.
|
|
58
|
+
*/
|
|
59
|
+
storageClass?: 'Standard' | 'InfrequentAccess';
|
|
60
|
+
}): Promise<R2Bucket>;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
declare const composeD1Arguments: ({ resourceName, }: {
|
|
64
|
+
resourceName: string;
|
|
65
|
+
}) => {
|
|
66
|
+
name: string;
|
|
67
|
+
primaryLocationHint: "weur";
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
declare const composeKvArguments: ({ resourceName, }: {
|
|
71
|
+
resourceName: string;
|
|
72
|
+
}) => {
|
|
73
|
+
title: string;
|
|
74
|
+
};
|
|
75
|
+
|
|
76
|
+
declare const composeQueueArguments: ({ resourceName, deliveryDelay, messageRetentionPeriod, }: {
|
|
77
|
+
resourceName: string;
|
|
78
|
+
deliveryDelay?: number;
|
|
79
|
+
messageRetentionPeriod?: number;
|
|
80
|
+
}) => {
|
|
81
|
+
name: string;
|
|
82
|
+
settings: {
|
|
83
|
+
deliveryDelay: number;
|
|
84
|
+
messageRetentionPeriod: number;
|
|
85
|
+
};
|
|
86
|
+
};
|
|
87
|
+
|
|
88
|
+
declare const composeR2Arguments: ({ resourceName, storageClass, }: {
|
|
89
|
+
resourceName: string;
|
|
90
|
+
storageClass?: "Standard" | "InfrequentAccess";
|
|
91
|
+
}) => {
|
|
92
|
+
name: string;
|
|
93
|
+
jurisdiction: "eu";
|
|
94
|
+
locationHint: string;
|
|
95
|
+
storageClass: "Standard" | "InfrequentAccess";
|
|
96
|
+
};
|
|
97
|
+
|
|
98
|
+
declare const composeBindingName: ({ resource, resourceName, bindingName, }: {
|
|
99
|
+
resource: Resource;
|
|
100
|
+
resourceName: string;
|
|
101
|
+
bindingName?: string;
|
|
102
|
+
}) => string;
|
|
103
|
+
declare const composeIdentifierName: ({ resource, resourceName, }: {
|
|
104
|
+
resource: Resource;
|
|
105
|
+
resourceName: string;
|
|
106
|
+
}) => string;
|
|
107
|
+
declare const composeResourceName: ({ project, environment, resourceName, }: {
|
|
108
|
+
project: Project;
|
|
109
|
+
environment: Environment;
|
|
110
|
+
resourceName: string;
|
|
111
|
+
}) => string;
|
|
112
|
+
|
|
113
|
+
declare const validateEnvironment: (environment: string) => Environment;
|
|
114
|
+
|
|
115
|
+
export { Infrastructure, composeBindingName, composeD1Arguments, composeIdentifierName, composeKvArguments, composeQueueArguments, composeR2Arguments, composeResourceName, validateEnvironment };
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { P as Project, E as Environment } from '../shared/backend-sdk.B4rrbKNu.mjs';
|
|
2
|
+
import { KVNamespace, D1Database, Queue, R2Bucket } from 'alchemy/cloudflare';
|
|
3
|
+
|
|
4
|
+
type Resource = 'kv' | 'd1' | 'queue' | 'r2' | 'worker' | 'service' | 'orchestrator';
|
|
5
|
+
|
|
6
|
+
declare class Infrastructure {
|
|
7
|
+
private project;
|
|
8
|
+
private environment;
|
|
9
|
+
constructor({ project, environment, }: {
|
|
10
|
+
project: Project;
|
|
11
|
+
environment: Environment;
|
|
12
|
+
});
|
|
13
|
+
/**
|
|
14
|
+
* Creates an instance of Cloudflare KV.
|
|
15
|
+
*/
|
|
16
|
+
kv(options: {
|
|
17
|
+
/**
|
|
18
|
+
* Name of the KV. Do not include the 'kv' prefix.
|
|
19
|
+
*/
|
|
20
|
+
resourceName: string;
|
|
21
|
+
}): Promise<KVNamespace>;
|
|
22
|
+
/**
|
|
23
|
+
* Creates an instance of Cloudflare D1.
|
|
24
|
+
*/
|
|
25
|
+
d1(options: {
|
|
26
|
+
/**
|
|
27
|
+
* Name of the D1. Do not include the 'd1' prefix.
|
|
28
|
+
*/
|
|
29
|
+
resourceName: string;
|
|
30
|
+
}): Promise<D1Database>;
|
|
31
|
+
/**
|
|
32
|
+
* Creates an instance of Cloudflare Queue.
|
|
33
|
+
*/
|
|
34
|
+
queue(options: {
|
|
35
|
+
/**
|
|
36
|
+
* Name of the Queue. Do not include the 'queue' prefix.
|
|
37
|
+
*/
|
|
38
|
+
resourceName: string;
|
|
39
|
+
/**
|
|
40
|
+
* The number of seconds to delay delivery of messages to the queue.
|
|
41
|
+
*/
|
|
42
|
+
deliveryDelay?: number;
|
|
43
|
+
/**
|
|
44
|
+
* The number of seconds a message will remain in the queue before being deleted.
|
|
45
|
+
*/
|
|
46
|
+
messageRetentionPeriod?: number;
|
|
47
|
+
}): Promise<Queue<unknown>>;
|
|
48
|
+
/**
|
|
49
|
+
* Creates an instance of Cloudflare R2.
|
|
50
|
+
*/
|
|
51
|
+
r2(options: {
|
|
52
|
+
/**
|
|
53
|
+
* Name of the R2. Do not include the 'r2' prefix.
|
|
54
|
+
*/
|
|
55
|
+
resourceName: string;
|
|
56
|
+
/**
|
|
57
|
+
* The storage class for the R2 bucket.
|
|
58
|
+
*/
|
|
59
|
+
storageClass?: 'Standard' | 'InfrequentAccess';
|
|
60
|
+
}): Promise<R2Bucket>;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
declare const composeD1Arguments: ({ resourceName, }: {
|
|
64
|
+
resourceName: string;
|
|
65
|
+
}) => {
|
|
66
|
+
name: string;
|
|
67
|
+
primaryLocationHint: "weur";
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
declare const composeKvArguments: ({ resourceName, }: {
|
|
71
|
+
resourceName: string;
|
|
72
|
+
}) => {
|
|
73
|
+
title: string;
|
|
74
|
+
};
|
|
75
|
+
|
|
76
|
+
declare const composeQueueArguments: ({ resourceName, deliveryDelay, messageRetentionPeriod, }: {
|
|
77
|
+
resourceName: string;
|
|
78
|
+
deliveryDelay?: number;
|
|
79
|
+
messageRetentionPeriod?: number;
|
|
80
|
+
}) => {
|
|
81
|
+
name: string;
|
|
82
|
+
settings: {
|
|
83
|
+
deliveryDelay: number;
|
|
84
|
+
messageRetentionPeriod: number;
|
|
85
|
+
};
|
|
86
|
+
};
|
|
87
|
+
|
|
88
|
+
declare const composeR2Arguments: ({ resourceName, storageClass, }: {
|
|
89
|
+
resourceName: string;
|
|
90
|
+
storageClass?: "Standard" | "InfrequentAccess";
|
|
91
|
+
}) => {
|
|
92
|
+
name: string;
|
|
93
|
+
jurisdiction: "eu";
|
|
94
|
+
locationHint: string;
|
|
95
|
+
storageClass: "Standard" | "InfrequentAccess";
|
|
96
|
+
};
|
|
97
|
+
|
|
98
|
+
declare const composeBindingName: ({ resource, resourceName, bindingName, }: {
|
|
99
|
+
resource: Resource;
|
|
100
|
+
resourceName: string;
|
|
101
|
+
bindingName?: string;
|
|
102
|
+
}) => string;
|
|
103
|
+
declare const composeIdentifierName: ({ resource, resourceName, }: {
|
|
104
|
+
resource: Resource;
|
|
105
|
+
resourceName: string;
|
|
106
|
+
}) => string;
|
|
107
|
+
declare const composeResourceName: ({ project, environment, resourceName, }: {
|
|
108
|
+
project: Project;
|
|
109
|
+
environment: Environment;
|
|
110
|
+
resourceName: string;
|
|
111
|
+
}) => string;
|
|
112
|
+
|
|
113
|
+
declare const validateEnvironment: (environment: string) => Environment;
|
|
114
|
+
|
|
115
|
+
export { Infrastructure, composeBindingName, composeD1Arguments, composeIdentifierName, composeKvArguments, composeQueueArguments, composeR2Arguments, composeResourceName, validateEnvironment };
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { P as Project, E as Environment } from '../shared/backend-sdk.B4rrbKNu.js';
|
|
2
|
+
import { KVNamespace, D1Database, Queue, R2Bucket } from 'alchemy/cloudflare';
|
|
3
|
+
|
|
4
|
+
type Resource = 'kv' | 'd1' | 'queue' | 'r2' | 'worker' | 'service' | 'orchestrator';
|
|
5
|
+
|
|
6
|
+
declare class Infrastructure {
|
|
7
|
+
private project;
|
|
8
|
+
private environment;
|
|
9
|
+
constructor({ project, environment, }: {
|
|
10
|
+
project: Project;
|
|
11
|
+
environment: Environment;
|
|
12
|
+
});
|
|
13
|
+
/**
|
|
14
|
+
* Creates an instance of Cloudflare KV.
|
|
15
|
+
*/
|
|
16
|
+
kv(options: {
|
|
17
|
+
/**
|
|
18
|
+
* Name of the KV. Do not include the 'kv' prefix.
|
|
19
|
+
*/
|
|
20
|
+
resourceName: string;
|
|
21
|
+
}): Promise<KVNamespace>;
|
|
22
|
+
/**
|
|
23
|
+
* Creates an instance of Cloudflare D1.
|
|
24
|
+
*/
|
|
25
|
+
d1(options: {
|
|
26
|
+
/**
|
|
27
|
+
* Name of the D1. Do not include the 'd1' prefix.
|
|
28
|
+
*/
|
|
29
|
+
resourceName: string;
|
|
30
|
+
}): Promise<D1Database>;
|
|
31
|
+
/**
|
|
32
|
+
* Creates an instance of Cloudflare Queue.
|
|
33
|
+
*/
|
|
34
|
+
queue(options: {
|
|
35
|
+
/**
|
|
36
|
+
* Name of the Queue. Do not include the 'queue' prefix.
|
|
37
|
+
*/
|
|
38
|
+
resourceName: string;
|
|
39
|
+
/**
|
|
40
|
+
* The number of seconds to delay delivery of messages to the queue.
|
|
41
|
+
*/
|
|
42
|
+
deliveryDelay?: number;
|
|
43
|
+
/**
|
|
44
|
+
* The number of seconds a message will remain in the queue before being deleted.
|
|
45
|
+
*/
|
|
46
|
+
messageRetentionPeriod?: number;
|
|
47
|
+
}): Promise<Queue<unknown>>;
|
|
48
|
+
/**
|
|
49
|
+
* Creates an instance of Cloudflare R2.
|
|
50
|
+
*/
|
|
51
|
+
r2(options: {
|
|
52
|
+
/**
|
|
53
|
+
* Name of the R2. Do not include the 'r2' prefix.
|
|
54
|
+
*/
|
|
55
|
+
resourceName: string;
|
|
56
|
+
/**
|
|
57
|
+
* The storage class for the R2 bucket.
|
|
58
|
+
*/
|
|
59
|
+
storageClass?: 'Standard' | 'InfrequentAccess';
|
|
60
|
+
}): Promise<R2Bucket>;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
declare const composeD1Arguments: ({ resourceName, }: {
|
|
64
|
+
resourceName: string;
|
|
65
|
+
}) => {
|
|
66
|
+
name: string;
|
|
67
|
+
primaryLocationHint: "weur";
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
declare const composeKvArguments: ({ resourceName, }: {
|
|
71
|
+
resourceName: string;
|
|
72
|
+
}) => {
|
|
73
|
+
title: string;
|
|
74
|
+
};
|
|
75
|
+
|
|
76
|
+
declare const composeQueueArguments: ({ resourceName, deliveryDelay, messageRetentionPeriod, }: {
|
|
77
|
+
resourceName: string;
|
|
78
|
+
deliveryDelay?: number;
|
|
79
|
+
messageRetentionPeriod?: number;
|
|
80
|
+
}) => {
|
|
81
|
+
name: string;
|
|
82
|
+
settings: {
|
|
83
|
+
deliveryDelay: number;
|
|
84
|
+
messageRetentionPeriod: number;
|
|
85
|
+
};
|
|
86
|
+
};
|
|
87
|
+
|
|
88
|
+
declare const composeR2Arguments: ({ resourceName, storageClass, }: {
|
|
89
|
+
resourceName: string;
|
|
90
|
+
storageClass?: "Standard" | "InfrequentAccess";
|
|
91
|
+
}) => {
|
|
92
|
+
name: string;
|
|
93
|
+
jurisdiction: "eu";
|
|
94
|
+
locationHint: string;
|
|
95
|
+
storageClass: "Standard" | "InfrequentAccess";
|
|
96
|
+
};
|
|
97
|
+
|
|
98
|
+
declare const composeBindingName: ({ resource, resourceName, bindingName, }: {
|
|
99
|
+
resource: Resource;
|
|
100
|
+
resourceName: string;
|
|
101
|
+
bindingName?: string;
|
|
102
|
+
}) => string;
|
|
103
|
+
declare const composeIdentifierName: ({ resource, resourceName, }: {
|
|
104
|
+
resource: Resource;
|
|
105
|
+
resourceName: string;
|
|
106
|
+
}) => string;
|
|
107
|
+
declare const composeResourceName: ({ project, environment, resourceName, }: {
|
|
108
|
+
project: Project;
|
|
109
|
+
environment: Environment;
|
|
110
|
+
resourceName: string;
|
|
111
|
+
}) => string;
|
|
112
|
+
|
|
113
|
+
declare const validateEnvironment: (environment: string) => Environment;
|
|
114
|
+
|
|
115
|
+
export { Infrastructure, composeBindingName, composeD1Arguments, composeIdentifierName, composeKvArguments, composeQueueArguments, composeR2Arguments, composeResourceName, validateEnvironment };
|