@breadstone/archipel-mcp 0.0.40 → 0.0.42
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/data/guides/blob-storage.md +20 -16
- package/data/guides/implementing-ports.md +2 -0
- package/data/guides/payments-and-feature-gating.md +76 -45
- package/data/packages/platform-blob-storage/api/Class.AwsS3BlobStorageStrategy.md +197 -0
- package/data/packages/platform-blob-storage/api/Class.AzureBlobStorageStrategy.md +197 -0
- package/data/packages/platform-blob-storage/api/Class.BlobModule.md +20 -10
- package/data/packages/platform-blob-storage/api/Class.BlobService.md +8 -8
- package/data/packages/platform-blob-storage/api/Class.BlobStorageStrategyBase.md +158 -0
- package/data/packages/platform-blob-storage/api/Class.LocalBlobStorageStrategy.md +197 -0
- package/data/packages/platform-blob-storage/api/Class.VercelBlobStorageStrategy.md +198 -0
- package/data/packages/platform-blob-storage/api/Interface.IBlobDeleteRequest.md +4 -4
- package/data/packages/platform-blob-storage/api/Interface.IBlobDownloadRequest.md +5 -5
- package/data/packages/platform-blob-storage/api/Interface.IBlobDownloadResult.md +6 -6
- package/data/packages/platform-blob-storage/api/Interface.IBlobModuleOptions.md +20 -10
- package/data/packages/platform-blob-storage/api/Interface.IBlobObjectMetadata.md +14 -14
- package/data/packages/platform-blob-storage/api/Interface.IBlobSignedUrlRequest.md +5 -5
- package/data/packages/platform-blob-storage/api/Interface.IBlobUploadRequest.md +10 -10
- package/data/packages/platform-blob-storage/api/Interface.IBlobUploadResult.md +3 -3
- package/data/packages/platform-blob-storage/api/TypeAlias.BlobDownloadResponseType.md +1 -1
- package/data/packages/platform-blob-storage/api/TypeAlias.BlobUploadBody.md +1 -1
- package/data/packages/platform-blob-storage/api/Variable.AWS_S3_ACCESS_KEY_ID.md +14 -0
- package/data/packages/platform-blob-storage/api/Variable.AWS_S3_BUCKET.md +14 -0
- package/data/packages/platform-blob-storage/api/Variable.AWS_S3_CONFIG_ENTRIES.md +14 -0
- package/data/packages/platform-blob-storage/api/Variable.AWS_S3_ENDPOINT.md +14 -0
- package/data/packages/platform-blob-storage/api/Variable.AWS_S3_REGION.md +14 -0
- package/data/packages/platform-blob-storage/api/Variable.AWS_S3_SECRET_ACCESS_KEY.md +14 -0
- package/data/packages/platform-blob-storage/api/Variable.AZURE_BLOB_CONNECTION_STRING.md +14 -0
- package/data/packages/platform-blob-storage/api/Variable.AZURE_BLOB_CONTAINER_NAME.md +14 -0
- package/data/packages/platform-blob-storage/api/Variable.AZURE_CONFIG_ENTRIES.md +14 -0
- package/data/packages/platform-blob-storage/api/{Variable.BLOB_PROVIDER.md → Variable.BLOB_STORAGE_STRATEGY_TOKEN.md} +3 -3
- package/data/packages/platform-blob-storage/api/Variable.BlobDownloadResponseTypes.md +5 -5
- package/data/packages/platform-blob-storage/api/Variable.LOCAL_BLOB_BASE_PATH.md +14 -0
- package/data/packages/platform-blob-storage/api/Variable.LOCAL_BLOB_BUCKET.md +14 -0
- package/data/packages/platform-blob-storage/api/Variable.LOCAL_CONFIG_ENTRIES.md +14 -0
- package/data/packages/platform-blob-storage/api/Variable.PLATFORM_BLOB_STORAGE_CONFIG_ENTRIES.md +14 -0
- package/data/packages/platform-blob-storage/api/Variable.VERCEL_BLOB_BUCKET.md +14 -0
- package/data/packages/platform-blob-storage/api/Variable.VERCEL_BLOB_PUBLIC_URL.md +14 -0
- package/data/packages/platform-blob-storage/api/Variable.VERCEL_BLOB_READ_WRITE_TOKEN.md +14 -0
- package/data/packages/platform-blob-storage/api/Variable.VERCEL_BLOB_REGION.md +14 -0
- package/data/packages/platform-blob-storage/api/Variable.VERCEL_BLOB_URL.md +14 -0
- package/data/packages/platform-blob-storage/api/Variable.VERCEL_CONFIG_ENTRIES.md +14 -0
- package/data/packages/platform-blob-storage/api/index.md +26 -18
- package/data/packages/platform-blob-storage/index.md +104 -68
- package/data/packages/platform-bootstrap/api/index.md +0 -2
- package/data/packages/platform-core/api/Class.ProblemDetailResponse.md +8 -8
- package/data/packages/platform-database/api/Class.DatabaseHealthIndicator.md +4 -4
- package/data/packages/platform-database/api/Class.DatabaseModule.md +3 -3
- package/data/packages/platform-database/api/Class.DatabaseService.md +12 -11
- package/data/packages/platform-database/api/Class.PrismaService.md +6 -5
- package/data/packages/platform-database/api/Class.RepositoryBase.md +23 -23
- package/data/packages/platform-database/api/Class.RepositoryBase2.md +7 -7
- package/data/packages/platform-database/api/Class.RepositoryExceptionFilter.md +2 -2
- package/data/packages/platform-database/api/Function.aggregate.md +1 -1
- package/data/packages/platform-database/api/Function.aggregateRaw.md +1 -1
- package/data/packages/platform-database/api/Function.count.md +1 -1
- package/data/packages/platform-database/api/Function.create.md +1 -1
- package/data/packages/platform-database/api/Function.createMany.md +1 -1
- package/data/packages/platform-database/api/Function.createManyAndReturn.md +1 -1
- package/data/packages/platform-database/api/Function.cursorPaginator.md +1 -1
- package/data/packages/platform-database/api/Function.findFirst.md +1 -1
- package/data/packages/platform-database/api/Function.findFirstOrThrow.md +1 -1
- package/data/packages/platform-database/api/Function.findMany.md +1 -1
- package/data/packages/platform-database/api/Function.findManyPaged.md +1 -1
- package/data/packages/platform-database/api/Function.findRaw.md +1 -1
- package/data/packages/platform-database/api/Function.findUnique.md +1 -1
- package/data/packages/platform-database/api/Function.findUniqueOrThrow.md +1 -1
- package/data/packages/platform-database/api/Function.groupBy.md +1 -1
- package/data/packages/platform-database/api/Function.pageable.md +1 -1
- package/data/packages/platform-database/api/Function.paginator.md +1 -1
- package/data/packages/platform-database/api/Function.pipe.md +1 -1
- package/data/packages/platform-database/api/Function.pipeAll.md +1 -1
- package/data/packages/platform-database/api/Function.query.md +1 -1
- package/data/packages/platform-database/api/Function.query2.md +1 -1
- package/data/packages/platform-database/api/Function.remove.md +1 -1
- package/data/packages/platform-database/api/Function.removeMany.md +1 -1
- package/data/packages/platform-database/api/Function.skip.md +1 -1
- package/data/packages/platform-database/api/Function.transactionalQuery.md +1 -1
- package/data/packages/platform-database/api/Function.update.md +1 -1
- package/data/packages/platform-database/api/Function.updateMany.md +1 -1
- package/data/packages/platform-database/api/Function.updateManyAndReturn.md +1 -1
- package/data/packages/platform-database/api/Function.upsert.md +1 -1
- package/data/packages/platform-database/api/Interface.ICursorPaginateOptions.md +4 -4
- package/data/packages/platform-database/api/Interface.ICursorPaginatedResult.md +3 -3
- package/data/packages/platform-database/api/Interface.IDatabaseModuleConfig.md +3 -3
- package/data/packages/platform-database/api/Interface.IPaginateOptions.md +3 -3
- package/data/packages/platform-database/api/Interface.IPaginatedResult.md +3 -3
- package/data/packages/platform-database/api/Interface.IPrismaServiceOptions.md +2 -2
- package/data/packages/platform-database/api/Interface.IRepositoryQuery.md +3 -3
- package/data/packages/platform-database/api/Interface.IRepositoryQuery2.md +3 -3
- package/data/packages/platform-database/api/Interface.ITransactionalRepositoryQuery.md +4 -4
- package/data/packages/platform-database/api/TypeAlias.CursorPaginateFunction.md +1 -1
- package/data/packages/platform-database/api/TypeAlias.DelegateArgs.md +1 -1
- package/data/packages/platform-database/api/TypeAlias.DelegateOperations.md +1 -1
- package/data/packages/platform-database/api/TypeAlias.DelegateReturnTypes.md +1 -1
- package/data/packages/platform-database/api/TypeAlias.PaginateFunction.md +1 -1
- package/data/packages/platform-database/api/TypeAlias.QueryResultType.md +1 -1
- package/data/packages/platform-database/api/TypeAlias.RepositoryOperationsAll.md +1 -1
- package/data/packages/platform-database/api/TypeAlias.RepositoryOperationsBase.md +1 -1
- package/data/packages/platform-database/api/TypeAlias.TransactionalQueryResultType.md +1 -1
- package/data/packages/platform-database/api/Variable.DATABASE_MODULE_CONFIG.md +1 -1
- package/data/packages/platform-database/api/Variable.DB_AUTO_CONNECTION.md +1 -1
- package/data/packages/platform-database/api/Variable.PLATFORM_DATABASE_CONFIG_ENTRIES.md +1 -1
- package/data/packages/platform-payments/api/Class.FeatureAccessPort.md +13 -5
- package/data/packages/platform-payments/api/Class.FeatureGuard.md +3 -3
- package/data/packages/platform-payments/api/Class.FeatureUsageInterceptor.md +3 -3
- package/data/packages/platform-payments/api/Function.RequiresFeature.md +1 -1
- package/data/packages/platform-payments/api/Interface.IFeatureAccessContext.md +46 -0
- package/data/packages/platform-payments/api/Variable.FEATURE_KEY_METADATA.md +1 -1
- package/data/packages/platform-payments/api/index.md +1 -0
- package/data/packages/platform-payments/index.md +33 -12
- package/data/patterns/guard-pattern.md +27 -6
- package/data/patterns/module-pattern.md +6 -2
- package/package.json +1 -1
- package/data/packages/platform-blob-storage/api/Class.AwsS3BlobProvider.md +0 -196
- package/data/packages/platform-blob-storage/api/Class.AzureBlobProvider.md +0 -196
- package/data/packages/platform-blob-storage/api/Class.VercelBlobProvider.md +0 -197
- package/data/packages/platform-blob-storage/api/Interface.IAwsS3BlobProviderRegistration.md +0 -28
- package/data/packages/platform-blob-storage/api/Interface.IAwsS3ProviderOptions.md +0 -68
- package/data/packages/platform-blob-storage/api/Interface.IAzureBlobProviderOptions.md +0 -48
- package/data/packages/platform-blob-storage/api/Interface.IAzureBlobProviderRegistration.md +0 -28
- package/data/packages/platform-blob-storage/api/Interface.IBlobProvider.md +0 -114
- package/data/packages/platform-blob-storage/api/Interface.ICustomBlobProviderRegistration.md +0 -28
- package/data/packages/platform-blob-storage/api/Interface.IVercelBlobProviderOptions.md +0 -80
- package/data/packages/platform-blob-storage/api/Interface.IVercelBlobProviderRegistration.md +0 -28
- package/data/packages/platform-blob-storage/api/TypeAlias.IBlobProviderRegistration.md +0 -16
- package/data/packages/platform-blob-storage/api/Variable.AWS_S3_PROVIDER_OPTIONS.md +0 -12
- package/data/packages/platform-blob-storage/api/Variable.AZURE_BLOB_PROVIDER_OPTIONS.md +0 -12
- package/data/packages/platform-blob-storage/api/Variable.BlobProviderKinds.md +0 -26
- package/data/packages/platform-blob-storage/api/Variable.VERCEL_BLOB_PROVIDER_OPTIONS.md +0 -12
- package/data/packages/platform-bootstrap/api/Function.useExpressServer.md +0 -32
- package/data/packages/platform-bootstrap/api/Interface.IExpressServerStepOptions.md +0 -46
|
@@ -8,7 +8,7 @@ package: '@breadstone/archipel-platform-blob-storage'
|
|
|
8
8
|
|
|
9
9
|
# platform-blob-storage
|
|
10
10
|
|
|
11
|
-
Cloud file storage abstraction supporting pluggable
|
|
11
|
+
Cloud file storage abstraction supporting pluggable strategies and optional metadata persistence via ports. Ships with Vercel Blob, Azure Blob Storage, AWS S3, and local filesystem strategies out of the box.
|
|
12
12
|
|
|
13
13
|
**Package:** `@breadstone/archipel-platform-blob-storage`
|
|
14
14
|
|
|
@@ -19,15 +19,20 @@ Cloud file storage abstraction supporting pluggable providers and optional metad
|
|
|
19
19
|
```typescript
|
|
20
20
|
import { Module } from '@nestjs/common';
|
|
21
21
|
import { BlobModule } from '@breadstone/archipel-platform-blob-storage';
|
|
22
|
+
import { VercelBlobStorageStrategy, VERCEL_CONFIG_ENTRIES } from '@breadstone/archipel-platform-blob-storage/strategies/vercel';
|
|
22
23
|
|
|
23
24
|
@Module({
|
|
24
25
|
imports: [
|
|
25
26
|
// Minimal setup — Vercel Blob, no metadata tracking
|
|
26
|
-
BlobModule.
|
|
27
|
+
BlobModule.register({
|
|
28
|
+
storageStrategy: VercelBlobStorageStrategy,
|
|
29
|
+
configEntries: VERCEL_CONFIG_ENTRIES,
|
|
30
|
+
}),
|
|
27
31
|
|
|
28
|
-
// Full setup —
|
|
29
|
-
BlobModule.
|
|
30
|
-
|
|
32
|
+
// Full setup — with metadata tracking
|
|
33
|
+
BlobModule.register({
|
|
34
|
+
storageStrategy: VercelBlobStorageStrategy,
|
|
35
|
+
configEntries: VERCEL_CONFIG_ENTRIES,
|
|
31
36
|
objectPersistence: PrismaBlobObjectAdapter,
|
|
32
37
|
variantPersistence: PrismaBlobVariantAdapter,
|
|
33
38
|
isGlobal: true,
|
|
@@ -43,27 +48,36 @@ export class AppModule {}
|
|
|
43
48
|
|
|
44
49
|
### IBlobModuleOptions
|
|
45
50
|
|
|
46
|
-
| Property | Type | Required | Default
|
|
47
|
-
| -------------------- | ---------------------------------- | -------- |
|
|
48
|
-
| `
|
|
49
|
-
| `
|
|
50
|
-
| `
|
|
51
|
-
| `
|
|
51
|
+
| Property | Type | Required | Default | Description |
|
|
52
|
+
| -------------------- | ---------------------------------- | -------- | ------- | -------------------------------------- |
|
|
53
|
+
| `storageStrategy` | `Type<BlobStorageStrategyBase>` | Yes | — | Storage strategy to use |
|
|
54
|
+
| `configEntries` | `IConfigEntry[]` | No | `[]` | Config entries for the chosen strategy |
|
|
55
|
+
| `objectPersistence` | `Type<BlobObjectPersistencePort>` | No | — | Metadata tracking for uploaded objects |
|
|
56
|
+
| `variantPersistence` | `Type<BlobVariantPersistencePort>` | No | — | Metadata tracking for image variants |
|
|
57
|
+
| `isGlobal` | `boolean` | No | `true` | Register as a global module |
|
|
52
58
|
|
|
53
|
-
###
|
|
59
|
+
### Strategy Registration
|
|
54
60
|
|
|
55
61
|
```typescript
|
|
56
|
-
|
|
57
|
-
{
|
|
62
|
+
import { VercelBlobStorageStrategy, VERCEL_CONFIG_ENTRIES } from '@breadstone/archipel-platform-blob-storage/strategies/vercel';
|
|
63
|
+
import { AzureBlobStorageStrategy, AZURE_CONFIG_ENTRIES } from '@breadstone/archipel-platform-blob-storage/strategies/azure';
|
|
64
|
+
import { AwsS3BlobStorageStrategy, AWS_S3_CONFIG_ENTRIES } from '@breadstone/archipel-platform-blob-storage/strategies/aws-s3';
|
|
65
|
+
import { LocalBlobStorageStrategy, LOCAL_CONFIG_ENTRIES } from '@breadstone/archipel-platform-blob-storage/strategies/local';
|
|
66
|
+
|
|
67
|
+
// Vercel Blob
|
|
68
|
+
BlobModule.register({ storageStrategy: VercelBlobStorageStrategy, configEntries: VERCEL_CONFIG_ENTRIES });
|
|
58
69
|
|
|
59
70
|
// Azure Blob Storage
|
|
60
|
-
{
|
|
71
|
+
BlobModule.register({ storageStrategy: AzureBlobStorageStrategy, configEntries: AZURE_CONFIG_ENTRIES });
|
|
61
72
|
|
|
62
73
|
// AWS S3
|
|
63
|
-
{
|
|
74
|
+
BlobModule.register({ storageStrategy: AwsS3BlobStorageStrategy, configEntries: AWS_S3_CONFIG_ENTRIES });
|
|
64
75
|
|
|
65
|
-
//
|
|
66
|
-
{
|
|
76
|
+
// Local filesystem
|
|
77
|
+
BlobModule.register({ storageStrategy: LocalBlobStorageStrategy, configEntries: LOCAL_CONFIG_ENTRIES });
|
|
78
|
+
|
|
79
|
+
// Custom strategy — extend BlobStorageStrategyBase
|
|
80
|
+
BlobModule.register({ storageStrategy: MyCustomStrategy });
|
|
67
81
|
```
|
|
68
82
|
|
|
69
83
|
---
|
|
@@ -204,32 +218,33 @@ export class PrismaBlobObjectAdapter extends BlobObjectPersistencePort {
|
|
|
204
218
|
|
|
205
219
|
---
|
|
206
220
|
|
|
207
|
-
## Built-in
|
|
221
|
+
## Built-in Strategies
|
|
208
222
|
|
|
209
|
-
###
|
|
223
|
+
### VercelBlobStorageStrategy
|
|
210
224
|
|
|
211
|
-
The
|
|
225
|
+
The Vercel Blob storage strategy using Vercel's Blob Storage API.
|
|
212
226
|
|
|
213
227
|
```typescript
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
228
|
+
import { VercelBlobStorageStrategy, VERCEL_CONFIG_ENTRIES } from '@breadstone/archipel-platform-blob-storage/strategies/vercel';
|
|
229
|
+
|
|
230
|
+
BlobModule.register({
|
|
231
|
+
storageStrategy: VercelBlobStorageStrategy,
|
|
232
|
+
configEntries: VERCEL_CONFIG_ENTRIES,
|
|
219
233
|
});
|
|
220
234
|
```
|
|
221
235
|
|
|
222
|
-
**Environment variables:** `
|
|
236
|
+
**Environment variables:** `VERCEL_BLOB_READ_WRITE_TOKEN`, `VERCEL_BLOB_URL`, `VERCEL_BLOB_PUBLIC_URL`, `VERCEL_BLOB_BUCKET`, `VERCEL_BLOB_REGION`
|
|
223
237
|
|
|
224
|
-
###
|
|
238
|
+
### AzureBlobStorageStrategy
|
|
225
239
|
|
|
226
240
|
Microsoft Azure Blob Storage integration using `@azure/storage-blob`.
|
|
227
241
|
|
|
228
242
|
```typescript
|
|
229
|
-
import {
|
|
243
|
+
import { AzureBlobStorageStrategy, AZURE_CONFIG_ENTRIES } from '@breadstone/archipel-platform-blob-storage/strategies/azure';
|
|
230
244
|
|
|
231
|
-
BlobModule.
|
|
232
|
-
|
|
245
|
+
BlobModule.register({
|
|
246
|
+
storageStrategy: AzureBlobStorageStrategy,
|
|
247
|
+
configEntries: AZURE_CONFIG_ENTRIES,
|
|
233
248
|
});
|
|
234
249
|
```
|
|
235
250
|
|
|
@@ -241,19 +256,20 @@ BlobModule.forRoot({
|
|
|
241
256
|
| `AZURE_BLOB_ACCOUNT_NAME` | No* | Storage account name for DefaultAzureCredential |
|
|
242
257
|
| `AZURE_BLOB_CONTAINER_NAME` | Yes | Container to operate on |
|
|
243
258
|
|
|
244
|
-
> **\*** Provide either `connectionString` or `accountName`. When `accountName` is set without a connection string, the
|
|
259
|
+
> **\*** Provide either `connectionString` or `accountName`. When `accountName` is set without a connection string, the strategy authenticates via `DefaultAzureCredential` from `@azure/identity` (supports managed identity, environment credentials, etc.). Install `@azure/identity` as a peer dependency when using this mode.
|
|
245
260
|
|
|
246
|
-
The
|
|
261
|
+
The strategy supports SAS token generation for signed URLs and lazy-loads the Azure SDK for tree-shaking.
|
|
247
262
|
|
|
248
|
-
###
|
|
263
|
+
### AwsS3BlobStorageStrategy
|
|
249
264
|
|
|
250
265
|
Amazon S3 integration using `@aws-sdk/client-s3` and `@aws-sdk/s3-request-presigner`.
|
|
251
266
|
|
|
252
267
|
```typescript
|
|
253
|
-
import {
|
|
268
|
+
import { AwsS3BlobStorageStrategy, AWS_S3_CONFIG_ENTRIES } from '@breadstone/archipel-platform-blob-storage/strategies/aws-s3';
|
|
254
269
|
|
|
255
|
-
BlobModule.
|
|
256
|
-
|
|
270
|
+
BlobModule.register({
|
|
271
|
+
storageStrategy: AwsS3BlobStorageStrategy,
|
|
272
|
+
configEntries: AWS_S3_CONFIG_ENTRIES,
|
|
257
273
|
});
|
|
258
274
|
```
|
|
259
275
|
|
|
@@ -269,16 +285,37 @@ BlobModule.forRoot({
|
|
|
269
285
|
|
|
270
286
|
> **\*** `accessKeyId` and `secretAccessKey` must be provided **together**. Omit both to use the default AWS credential chain (IAM roles, instance profiles, environment variables).
|
|
271
287
|
|
|
272
|
-
The
|
|
288
|
+
The strategy supports pre-signed URLs and lazy-loads the AWS SDK for tree-shaking. `downloadObject()` gracefully handles JSON parse errors, returning the raw response body when content cannot be parsed.
|
|
273
289
|
|
|
274
|
-
###
|
|
290
|
+
### LocalBlobStorageStrategy
|
|
275
291
|
|
|
276
|
-
|
|
292
|
+
Local filesystem storage for development and testing.
|
|
293
|
+
|
|
294
|
+
```typescript
|
|
295
|
+
import { LocalBlobStorageStrategy, LOCAL_CONFIG_ENTRIES } from '@breadstone/archipel-platform-blob-storage/strategies/local';
|
|
296
|
+
|
|
297
|
+
BlobModule.register({
|
|
298
|
+
storageStrategy: LocalBlobStorageStrategy,
|
|
299
|
+
configEntries: LOCAL_CONFIG_ENTRIES,
|
|
300
|
+
});
|
|
301
|
+
```
|
|
302
|
+
|
|
303
|
+
**Environment variables:**
|
|
304
|
+
|
|
305
|
+
| Variable | Required | Default | Description |
|
|
306
|
+
| ---------------------- | -------- | ------------- | ------------------------------------- |
|
|
307
|
+
| `LOCAL_BLOB_BASE_PATH` | No | `./blob-data` | Base directory for local file storage |
|
|
308
|
+
| `LOCAL_BLOB_BUCKET` | No | `default` | Default bucket subdirectory |
|
|
309
|
+
|
|
310
|
+
### Custom Strategy
|
|
311
|
+
|
|
312
|
+
Extend `BlobStorageStrategyBase` for any other storage backend (GCS, MinIO, etc.):
|
|
277
313
|
|
|
278
314
|
```typescript
|
|
279
315
|
@Injectable()
|
|
280
|
-
export class
|
|
281
|
-
public readonly providerId = 'gcs';
|
|
316
|
+
export class GcsBlobStorageStrategy extends BlobStorageStrategyBase {
|
|
317
|
+
public override readonly providerId = 'gcs';
|
|
318
|
+
public override readonly defaultBucket = 'my-gcs-bucket';
|
|
282
319
|
|
|
283
320
|
public async uploadObject(request: IBlobUploadRequest): Promise<IBlobUploadResult> {
|
|
284
321
|
// GCS upload implementation
|
|
@@ -292,15 +329,13 @@ export class GcsBlobProvider implements IBlobProvider {
|
|
|
292
329
|
// GCS delete implementation
|
|
293
330
|
}
|
|
294
331
|
|
|
295
|
-
public async createSignedUrl(request: IBlobSignedUrlRequest): Promise<string> {
|
|
332
|
+
public override async createSignedUrl(request: IBlobSignedUrlRequest): Promise<string> {
|
|
296
333
|
// GCS signed URL
|
|
297
334
|
}
|
|
298
335
|
}
|
|
299
336
|
|
|
300
337
|
// Register
|
|
301
|
-
BlobModule.
|
|
302
|
-
provider: { kind: 'custom', useClass: GcsBlobProvider },
|
|
303
|
-
});
|
|
338
|
+
BlobModule.register({ storageStrategy: GcsBlobStorageStrategy });
|
|
304
339
|
```
|
|
305
340
|
|
|
306
341
|
---
|
|
@@ -315,7 +350,7 @@ import { HealthModule } from '@breadstone/archipel-platform-health';
|
|
|
315
350
|
|
|
316
351
|
@Module({
|
|
317
352
|
imports: [
|
|
318
|
-
BlobModule.
|
|
353
|
+
BlobModule.register({ /* ... */ }),
|
|
319
354
|
HealthModule.withIndicators([BlobHealthIndicator]),
|
|
320
355
|
],
|
|
321
356
|
})
|
|
@@ -331,30 +366,31 @@ export class AppModule {}
|
|
|
331
366
|
|
|
332
367
|
## Sub-path Imports
|
|
333
368
|
|
|
334
|
-
Each
|
|
369
|
+
Each strategy is tree-shakeable via sub-path imports:
|
|
335
370
|
|
|
336
|
-
| Import Path
|
|
337
|
-
|
|
|
338
|
-
| `@breadstone/archipel-platform-blob-storage`
|
|
339
|
-
| `@breadstone/archipel-platform-blob-storage/vercel` |
|
|
340
|
-
| `@breadstone/archipel-platform-blob-storage/azure` |
|
|
341
|
-
| `@breadstone/archipel-platform-blob-storage/aws-s3` |
|
|
342
|
-
| `@breadstone/archipel-platform-blob-storage/
|
|
371
|
+
| Import Path | Contents |
|
|
372
|
+
| -------------------------------------------------------------- | ---------------------------------------------------------- |
|
|
373
|
+
| `@breadstone/archipel-platform-blob-storage` | Core module, service, ports, interfaces, abstract base |
|
|
374
|
+
| `@breadstone/archipel-platform-blob-storage/strategies/vercel` | VercelBlobStorageStrategy, VERCEL_CONFIG_ENTRIES |
|
|
375
|
+
| `@breadstone/archipel-platform-blob-storage/strategies/azure` | AzureBlobStorageStrategy, AZURE_CONFIG_ENTRIES |
|
|
376
|
+
| `@breadstone/archipel-platform-blob-storage/strategies/aws-s3` | AwsS3BlobStorageStrategy, AWS_S3_CONFIG_ENTRIES |
|
|
377
|
+
| `@breadstone/archipel-platform-blob-storage/strategies/local` | LocalBlobStorageStrategy, LOCAL_CONFIG_ENTRIES |
|
|
378
|
+
| `@breadstone/archipel-platform-blob-storage/health` | BlobHealthIndicator |
|
|
343
379
|
|
|
344
380
|
---
|
|
345
381
|
|
|
346
382
|
## Exports Summary
|
|
347
383
|
|
|
348
|
-
| Export
|
|
349
|
-
|
|
|
350
|
-
| `BlobModule`
|
|
351
|
-
| `BlobService`
|
|
352
|
-
| `
|
|
353
|
-
| `
|
|
354
|
-
| `
|
|
355
|
-
| `
|
|
356
|
-
| `
|
|
357
|
-
| `
|
|
358
|
-
| `
|
|
359
|
-
| `
|
|
360
|
-
| `BlobDownloadResponseTypes`
|
|
384
|
+
| Export | Type | Description |
|
|
385
|
+
| ----------------------------- | ------------- | ------------------------------------------------------ |
|
|
386
|
+
| `BlobModule` | NestJS Module | Main module with `register()` |
|
|
387
|
+
| `BlobService` | Service | Upload, download, delete, signed URLs |
|
|
388
|
+
| `BlobStorageStrategyBase` | Abstract | Base class for custom storage strategies |
|
|
389
|
+
| `BlobObjectPersistencePort` | Port | Object metadata tracking |
|
|
390
|
+
| `BlobVariantPersistencePort` | Port | Variant metadata tracking |
|
|
391
|
+
| `VercelBlobStorageStrategy` | Strategy | Vercel Blob implementation (sub-path) |
|
|
392
|
+
| `AzureBlobStorageStrategy` | Strategy | Azure Blob Storage implementation (sub-path) |
|
|
393
|
+
| `AwsS3BlobStorageStrategy` | Strategy | AWS S3 implementation (sub-path) |
|
|
394
|
+
| `LocalBlobStorageStrategy` | Strategy | Local filesystem implementation (sub-path) |
|
|
395
|
+
| `BlobHealthIndicator` | Health | Blob storage health check (`/health` subpath) |
|
|
396
|
+
| `BlobDownloadResponseTypes` | Constant | `'arraybuffer'` \| `'json'` \| `'stream'` \| `'text'` |
|
|
@@ -20,7 +20,6 @@ editUrl: false
|
|
|
20
20
|
| ------ | ------ |
|
|
21
21
|
| [IApiStepOptions](Interface.IApiStepOptions) | Options for the generic Archipel API bootstrap step. |
|
|
22
22
|
| [IApiValidationOptions](Interface.IApiValidationOptions) | Validation options used by the generic Archipel API bootstrap step. |
|
|
23
|
-
| [IExpressServerStepOptions](Interface.IExpressServerStepOptions) | Options for the Express-compatible server bootstrap step. |
|
|
24
23
|
| [IOpenApiStepOptions](Interface.IOpenApiStepOptions) | Options for the OpenAPI bootstrap step. |
|
|
25
24
|
| [IPlatformApplicationOptions](Interface.IPlatformApplicationOptions) | Options for wrapping an existing NestJS application with Archipel platform bootstrap support. |
|
|
26
25
|
| [IPlatformListenOptions](Interface.IPlatformListenOptions) | Options for resolving the HTTP listen port from typed configuration keys. |
|
|
@@ -59,7 +58,6 @@ editUrl: false
|
|
|
59
58
|
| ------ | ------ |
|
|
60
59
|
| [createPlatformTestApplication](Function.createPlatformTestApplication) | Creates a lightweight in-memory NestJS application double for platform bootstrap tests. |
|
|
61
60
|
| [useApi](Function.useApi) | Creates the generic Archipel API bootstrap step. |
|
|
62
|
-
| [useExpressServer](Function.useExpressServer) | Creates an Express-compatible server bootstrap step. |
|
|
63
61
|
| [useOpenApi](Function.useOpenApi) | Creates the Archipel OpenAPI multi-document bootstrap step. |
|
|
64
62
|
| [useSecurity](Function.useSecurity) | Creates the generic security bootstrap step. |
|
|
65
63
|
| [useSession](Function.useSession) | Creates an Express-compatible session bootstrap step. |
|
|
@@ -5,7 +5,7 @@ editUrl: false
|
|
|
5
5
|
---
|
|
6
6
|
# Class: ProblemDetailResponse
|
|
7
7
|
|
|
8
|
-
Defined in: models/response/ProblemDetailResponse.ts:29
|
|
8
|
+
Defined in: [models/response/ProblemDetailResponse.ts:29](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-core/src/models/response/ProblemDetailResponse.ts#L29)
|
|
9
9
|
|
|
10
10
|
OpenAPI schema class representing a Problem Detail response as per RFC 9457.
|
|
11
11
|
|
|
@@ -46,7 +46,7 @@ new ProblemDetailResponse(): ProblemDetailResponse;
|
|
|
46
46
|
optional code?: string;
|
|
47
47
|
```
|
|
48
48
|
|
|
49
|
-
Defined in: models/response/ProblemDetailResponse.ts:81
|
|
49
|
+
Defined in: [models/response/ProblemDetailResponse.ts:81](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-core/src/models/response/ProblemDetailResponse.ts#L81)
|
|
50
50
|
|
|
51
51
|
***
|
|
52
52
|
|
|
@@ -56,7 +56,7 @@ Defined in: models/response/ProblemDetailResponse.ts:81
|
|
|
56
56
|
detail: string;
|
|
57
57
|
```
|
|
58
58
|
|
|
59
|
-
Defined in: models/response/ProblemDetailResponse.ts:69
|
|
59
|
+
Defined in: [models/response/ProblemDetailResponse.ts:69](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-core/src/models/response/ProblemDetailResponse.ts#L69)
|
|
60
60
|
|
|
61
61
|
***
|
|
62
62
|
|
|
@@ -66,7 +66,7 @@ Defined in: models/response/ProblemDetailResponse.ts:69
|
|
|
66
66
|
optional instance?: string;
|
|
67
67
|
```
|
|
68
68
|
|
|
69
|
-
Defined in: models/response/ProblemDetailResponse.ts:75
|
|
69
|
+
Defined in: [models/response/ProblemDetailResponse.ts:75](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-core/src/models/response/ProblemDetailResponse.ts#L75)
|
|
70
70
|
|
|
71
71
|
***
|
|
72
72
|
|
|
@@ -76,7 +76,7 @@ Defined in: models/response/ProblemDetailResponse.ts:75
|
|
|
76
76
|
readonly static MEDIA_TYPE: "application/problem+json" = 'application/problem+json';
|
|
77
77
|
```
|
|
78
78
|
|
|
79
|
-
Defined in: models/response/ProblemDetailResponse.ts:41
|
|
79
|
+
Defined in: [models/response/ProblemDetailResponse.ts:41](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-core/src/models/response/ProblemDetailResponse.ts#L41)
|
|
80
80
|
|
|
81
81
|
The media type for Problem Detail responses as per RFC 9457.
|
|
82
82
|
|
|
@@ -92,7 +92,7 @@ response `type`.
|
|
|
92
92
|
status: number;
|
|
93
93
|
```
|
|
94
94
|
|
|
95
|
-
Defined in: models/response/ProblemDetailResponse.ts:63
|
|
95
|
+
Defined in: [models/response/ProblemDetailResponse.ts:63](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-core/src/models/response/ProblemDetailResponse.ts#L63)
|
|
96
96
|
|
|
97
97
|
***
|
|
98
98
|
|
|
@@ -102,7 +102,7 @@ Defined in: models/response/ProblemDetailResponse.ts:63
|
|
|
102
102
|
title: string;
|
|
103
103
|
```
|
|
104
104
|
|
|
105
|
-
Defined in: models/response/ProblemDetailResponse.ts:57
|
|
105
|
+
Defined in: [models/response/ProblemDetailResponse.ts:57](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-core/src/models/response/ProblemDetailResponse.ts#L57)
|
|
106
106
|
|
|
107
107
|
***
|
|
108
108
|
|
|
@@ -112,4 +112,4 @@ Defined in: models/response/ProblemDetailResponse.ts:57
|
|
|
112
112
|
type: string;
|
|
113
113
|
```
|
|
114
114
|
|
|
115
|
-
Defined in: models/response/ProblemDetailResponse.ts:51
|
|
115
|
+
Defined in: [models/response/ProblemDetailResponse.ts:51](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-core/src/models/response/ProblemDetailResponse.ts#L51)
|
|
@@ -5,7 +5,7 @@ editUrl: false
|
|
|
5
5
|
---
|
|
6
6
|
# Class: DatabaseHealthIndicator
|
|
7
7
|
|
|
8
|
-
Defined in: [health/DatabaseHealthIndicator.ts:16](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-database/src/health/DatabaseHealthIndicator.ts#L16)
|
|
8
|
+
Defined in: [libs/platform-database/src/health/DatabaseHealthIndicator.ts:16](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-database/src/health/DatabaseHealthIndicator.ts#L16)
|
|
9
9
|
|
|
10
10
|
Health indicator for database connectivity.
|
|
11
11
|
|
|
@@ -21,7 +21,7 @@ Health indicator for database connectivity.
|
|
|
21
21
|
new DatabaseHealthIndicator(prismaHealthIndicator, databaseService): DatabaseHealthIndicator;
|
|
22
22
|
```
|
|
23
23
|
|
|
24
|
-
Defined in: [health/DatabaseHealthIndicator.ts:26](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-database/src/health/DatabaseHealthIndicator.ts#L26)
|
|
24
|
+
Defined in: [libs/platform-database/src/health/DatabaseHealthIndicator.ts:26](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-database/src/health/DatabaseHealthIndicator.ts#L26)
|
|
25
25
|
|
|
26
26
|
#### Parameters
|
|
27
27
|
|
|
@@ -42,7 +42,7 @@ Defined in: [health/DatabaseHealthIndicator.ts:26](https://github.com/RueDeRenne
|
|
|
42
42
|
readonly key: string = 'database';
|
|
43
43
|
```
|
|
44
44
|
|
|
45
|
-
Defined in: [health/DatabaseHealthIndicator.ts:35](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-database/src/health/DatabaseHealthIndicator.ts#L35)
|
|
45
|
+
Defined in: [libs/platform-database/src/health/DatabaseHealthIndicator.ts:35](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-database/src/health/DatabaseHealthIndicator.ts#L35)
|
|
46
46
|
|
|
47
47
|
Unique key identifying the indicator
|
|
48
48
|
|
|
@@ -60,7 +60,7 @@ IHealthIndicator.key
|
|
|
60
60
|
check(): Promise<HealthIndicatorResult<"database">>;
|
|
61
61
|
```
|
|
62
62
|
|
|
63
|
-
Defined in: [health/DatabaseHealthIndicator.ts:47](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-database/src/health/DatabaseHealthIndicator.ts#L47)
|
|
63
|
+
Defined in: [libs/platform-database/src/health/DatabaseHealthIndicator.ts:47](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-database/src/health/DatabaseHealthIndicator.ts#L47)
|
|
64
64
|
|
|
65
65
|
Checks database connectivity via a Prisma ping.
|
|
66
66
|
|
|
@@ -5,7 +5,7 @@ editUrl: false
|
|
|
5
5
|
---
|
|
6
6
|
# Class: DatabaseModule
|
|
7
7
|
|
|
8
|
-
Defined in: [DatabaseModule.ts:53](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-database/src/DatabaseModule.ts#L53)
|
|
8
|
+
Defined in: [libs/platform-database/src/DatabaseModule.ts:53](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-database/src/DatabaseModule.ts#L53)
|
|
9
9
|
|
|
10
10
|
## Constructors
|
|
11
11
|
|
|
@@ -27,7 +27,7 @@ new DatabaseModule(): DatabaseModule;
|
|
|
27
27
|
static forRoot(config?): DynamicModule;
|
|
28
28
|
```
|
|
29
29
|
|
|
30
|
-
Defined in: [DatabaseModule.ts:62](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-database/src/DatabaseModule.ts#L62)
|
|
30
|
+
Defined in: [libs/platform-database/src/DatabaseModule.ts:62](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-database/src/DatabaseModule.ts#L62)
|
|
31
31
|
|
|
32
32
|
Registers the `DatabaseModule` with global middlewares.
|
|
33
33
|
|
|
@@ -51,7 +51,7 @@ A `DynamicModule` that can be imported globally
|
|
|
51
51
|
static register(config?): DynamicModule;
|
|
52
52
|
```
|
|
53
53
|
|
|
54
|
-
Defined in: [DatabaseModule.ts:82](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-database/src/DatabaseModule.ts#L82)
|
|
54
|
+
Defined in: [libs/platform-database/src/DatabaseModule.ts:82](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-database/src/DatabaseModule.ts#L82)
|
|
55
55
|
|
|
56
56
|
Registers the `DatabaseModule` with dynamic middlewares.
|
|
57
57
|
|
|
@@ -5,7 +5,7 @@ editUrl: false
|
|
|
5
5
|
---
|
|
6
6
|
# Class: DatabaseService
|
|
7
7
|
|
|
8
|
-
Defined in: [services/DatabaseService.ts:16](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-database/src/services/DatabaseService.ts#L16)
|
|
8
|
+
Defined in: [libs/platform-database/src/services/DatabaseService.ts:16](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-database/src/services/DatabaseService.ts#L16)
|
|
9
9
|
|
|
10
10
|
Represents the database service.
|
|
11
11
|
|
|
@@ -16,7 +16,8 @@ Represents the database service.
|
|
|
16
16
|
## Indexable
|
|
17
17
|
|
|
18
18
|
```ts
|
|
19
|
-
[
|
|
19
|
+
[K: symbol]: {
|
|
20
|
+
}
|
|
20
21
|
```
|
|
21
22
|
|
|
22
23
|
## Constructors
|
|
@@ -27,7 +28,7 @@ Represents the database service.
|
|
|
27
28
|
new DatabaseService(configService, options?): DatabaseService;
|
|
28
29
|
```
|
|
29
30
|
|
|
30
|
-
Defined in: [services/DatabaseService.ts:24](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-database/src/services/DatabaseService.ts#L24)
|
|
31
|
+
Defined in: [libs/platform-database/src/services/DatabaseService.ts:24](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-database/src/services/DatabaseService.ts#L24)
|
|
31
32
|
|
|
32
33
|
Constructs a new instance of the `DatabaseService` class.
|
|
33
34
|
|
|
@@ -54,7 +55,7 @@ Constructs a new instance of the `DatabaseService` class.
|
|
|
54
55
|
onModuleDestroy(): Promise<void>;
|
|
55
56
|
```
|
|
56
57
|
|
|
57
|
-
Defined in: [services/PrismaService.ts:69](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-database/src/services/PrismaService.ts#L69)
|
|
58
|
+
Defined in: [libs/platform-database/src/services/PrismaService.ts:69](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-database/src/services/PrismaService.ts#L69)
|
|
58
59
|
|
|
59
60
|
#### Returns
|
|
60
61
|
|
|
@@ -72,7 +73,7 @@ Defined in: [services/PrismaService.ts:69](https://github.com/RueDeRennes/archip
|
|
|
72
73
|
onModuleInit(): Promise<void>;
|
|
73
74
|
```
|
|
74
75
|
|
|
75
|
-
Defined in: [services/PrismaService.ts:58](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-database/src/services/PrismaService.ts#L58)
|
|
76
|
+
Defined in: [libs/platform-database/src/services/PrismaService.ts:58](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-database/src/services/PrismaService.ts#L58)
|
|
76
77
|
|
|
77
78
|
#### Returns
|
|
78
79
|
|
|
@@ -87,10 +88,10 @@ Defined in: [services/PrismaService.ts:58](https://github.com/RueDeRennes/archip
|
|
|
87
88
|
### transaction()
|
|
88
89
|
|
|
89
90
|
```ts
|
|
90
|
-
transaction<P>(arg, options?):
|
|
91
|
+
transaction<P>(arg, options?): Promise<unknown>;
|
|
91
92
|
```
|
|
92
93
|
|
|
93
|
-
Defined in: [services/DatabaseService.ts:40](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-database/src/services/DatabaseService.ts#L40)
|
|
94
|
+
Defined in: [libs/platform-database/src/services/DatabaseService.ts:40](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-database/src/services/DatabaseService.ts#L40)
|
|
94
95
|
|
|
95
96
|
Creates a new transaction.
|
|
96
97
|
|
|
@@ -105,11 +106,11 @@ Creates a new transaction.
|
|
|
105
106
|
| Parameter | Type | Description |
|
|
106
107
|
| ------ | ------ | ------ |
|
|
107
108
|
| `arg` | \[`...P[]`\] | The argument. |
|
|
108
|
-
| `options?` |
|
|
109
|
+
| `options?` | \{ \} | The options. |
|
|
109
110
|
|
|
110
111
|
#### Returns
|
|
111
112
|
|
|
112
|
-
`
|
|
113
|
+
`Promise`\<`unknown`\>
|
|
113
114
|
|
|
114
115
|
Returns the result of the transaction.
|
|
115
116
|
|
|
@@ -121,7 +122,7 @@ Returns the result of the transaction.
|
|
|
121
122
|
transactionCallback<T>(fn, options?): Promise<T>;
|
|
122
123
|
```
|
|
123
124
|
|
|
124
|
-
Defined in: [services/DatabaseService.ts:55](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-database/src/services/DatabaseService.ts#L55)
|
|
125
|
+
Defined in: [libs/platform-database/src/services/DatabaseService.ts:55](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-database/src/services/DatabaseService.ts#L55)
|
|
125
126
|
|
|
126
127
|
Executes a transactional callback (extended overload missing in base typing wrapper).
|
|
127
128
|
|
|
@@ -136,7 +137,7 @@ Executes a transactional callback (extended overload missing in base typing wrap
|
|
|
136
137
|
| Parameter | Type |
|
|
137
138
|
| ------ | ------ |
|
|
138
139
|
| `fn` | (`tx`) => `Promise`\<`T`\> |
|
|
139
|
-
| `options?` |
|
|
140
|
+
| `options?` | \{ \} |
|
|
140
141
|
|
|
141
142
|
#### Returns
|
|
142
143
|
|
|
@@ -5,7 +5,7 @@ editUrl: false
|
|
|
5
5
|
---
|
|
6
6
|
# Class: PrismaService
|
|
7
7
|
|
|
8
|
-
Defined in: [services/PrismaService.ts:29](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-database/src/services/PrismaService.ts#L29)
|
|
8
|
+
Defined in: [libs/platform-database/src/services/PrismaService.ts:29](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-database/src/services/PrismaService.ts#L29)
|
|
9
9
|
|
|
10
10
|
Represents the prisma service.
|
|
11
11
|
|
|
@@ -25,7 +25,8 @@ Represents the prisma service.
|
|
|
25
25
|
## Indexable
|
|
26
26
|
|
|
27
27
|
```ts
|
|
28
|
-
[
|
|
28
|
+
[K: symbol]: {
|
|
29
|
+
}
|
|
29
30
|
```
|
|
30
31
|
|
|
31
32
|
## Constructors
|
|
@@ -36,7 +37,7 @@ Represents the prisma service.
|
|
|
36
37
|
new PrismaService(configService, options?): PrismaService;
|
|
37
38
|
```
|
|
38
39
|
|
|
39
|
-
Defined in: [services/PrismaService.ts:43](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-database/src/services/PrismaService.ts#L43)
|
|
40
|
+
Defined in: [libs/platform-database/src/services/PrismaService.ts:43](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-database/src/services/PrismaService.ts#L43)
|
|
40
41
|
|
|
41
42
|
Constructs a new instance of the `PrismaService` class.
|
|
42
43
|
|
|
@@ -65,7 +66,7 @@ PrismaClient.constructor
|
|
|
65
66
|
onModuleDestroy(): Promise<void>;
|
|
66
67
|
```
|
|
67
68
|
|
|
68
|
-
Defined in: [services/PrismaService.ts:69](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-database/src/services/PrismaService.ts#L69)
|
|
69
|
+
Defined in: [libs/platform-database/src/services/PrismaService.ts:69](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-database/src/services/PrismaService.ts#L69)
|
|
69
70
|
|
|
70
71
|
#### Returns
|
|
71
72
|
|
|
@@ -85,7 +86,7 @@ OnModuleDestroy.onModuleDestroy
|
|
|
85
86
|
onModuleInit(): Promise<void>;
|
|
86
87
|
```
|
|
87
88
|
|
|
88
|
-
Defined in: [services/PrismaService.ts:58](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-database/src/services/PrismaService.ts#L58)
|
|
89
|
+
Defined in: [libs/platform-database/src/services/PrismaService.ts:58](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-database/src/services/PrismaService.ts#L58)
|
|
89
90
|
|
|
90
91
|
#### Returns
|
|
91
92
|
|