@breadstone/archipel-mcp 0.0.20 → 0.0.22
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/ai-text-generation.md +10 -0
- package/data/guides/analytics-and-error-tracking.md +6 -0
- package/data/guides/cryptography-and-otp.md +20 -2
- package/data/guides/database-setup.md +4 -3
- package/data/guides/document-generation.md +26 -0
- package/data/guides/email-delivery.md +23 -0
- package/data/guides/email-templates.md +298 -0
- package/data/guides/esigning-integration.md +1 -1
- package/data/guides/getting-started.md +6 -6
- package/data/guides/index.md +1 -0
- package/data/guides/mcp-server.md +9 -0
- package/data/guides/payments-and-feature-gating.md +18 -0
- package/data/guides/resource-management.md +9 -9
- package/data/guides/telemetry-and-observability.md +7 -1
- package/data/packages/platform-analytics/api/Class.AppInsightsAnalyticsClient.md +55 -6
- package/data/packages/platform-analytics/api/Class.DatadogAnalyticsClient.md +32 -6
- package/data/packages/platform-analytics/api/Class.SentryAnalyticsClient.md +55 -6
- package/data/packages/platform-analytics/index.md +13 -0
- package/data/packages/platform-blob-storage/api/Variable.AWS_S3_PROVIDER_OPTIONS.md +1 -1
- package/data/packages/platform-blob-storage/api/Variable.AZURE_BLOB_PROVIDER_OPTIONS.md +1 -1
- package/data/packages/platform-blob-storage/api/Variable.BLOB_PROVIDER.md +1 -1
- package/data/packages/platform-blob-storage/api/Variable.VERCEL_BLOB_PROVIDER_OPTIONS.md +1 -1
- package/data/packages/platform-core/api/Class.ErrorTemplateService.md +1 -1
- package/data/packages/platform-core/api/Class.EventHub.md +7 -7
- package/data/packages/platform-core/api/Class.HostService.md +1 -1
- package/data/packages/platform-core/api/Class.SseHub.md +29 -6
- package/data/packages/platform-core/api/Variable.ID_GENERATOR_TOKEN.md +1 -1
- package/data/packages/platform-core/api/index.md +0 -27
- package/data/packages/platform-core/index.md +8 -4
- package/data/packages/platform-cryptography/api/Class.BcryptService.md +4 -4
- package/data/packages/platform-cryptography/api/Class.CryptoService.md +3 -3
- package/data/packages/platform-cryptography/api/Class.OtpService.md +6 -6
- package/data/packages/platform-cryptography/api/Variable.BCRYPT_OPTIONS.md +2 -2
- package/data/packages/platform-cryptography/api/Variable.MAX_BCRYPT_PASSWORD_BYTES.md +1 -1
- package/data/packages/platform-cryptography/api/Variable.MIN_BCRYPT_ROUNDS.md +1 -1
- package/data/packages/platform-cryptography/api/Variable.OTP_OPTIONS.md +2 -2
- package/data/packages/platform-cryptography/api/Variable.OTP_SERVICE_TOKEN.md +2 -2
- package/data/packages/platform-cryptography/api/Variable.TOTP_EPOCH_TOLERANCE.md +1 -1
- package/data/packages/platform-cryptography/api/index.md +3 -3
- package/data/packages/platform-cryptography/index.md +10 -0
- package/data/packages/platform-documents/api/Class.BaseDocumentRenderer.md +32 -1
- package/data/packages/platform-documents/api/Class.DocumentEngine.md +4 -4
- package/data/packages/platform-documents/api/Class.DocumentError.md +61 -0
- package/data/packages/platform-documents/api/Class.DocumentModule.md +2 -2
- package/data/packages/platform-documents/api/Class.DocumentRenderError.md +53 -0
- package/data/packages/platform-documents/api/Class.DocumentValidationError.md +52 -0
- package/data/packages/platform-documents/api/Class.DocxDocumentRenderer2.md +333 -0
- package/data/packages/platform-documents/api/Class.ImageProcessingError.md +53 -0
- package/data/packages/platform-documents/api/Class.PdfDocumentRenderer.md +355 -0
- package/data/packages/platform-documents/api/Class.SharpImageProcessor.md +5 -5
- package/data/packages/platform-documents/api/Interface.IDocumentModuleOptions.md +31 -5
- package/data/packages/platform-documents/api/Variable.DOCUMENT_MODULE_OPTIONS.md +1 -1
- package/data/packages/platform-documents/api/Variable.DOCUMENT_PARSER_TOKEN.md +1 -1
- package/data/packages/platform-documents/api/Variable.DOCUMENT_RENDERER_TOKEN.md +1 -1
- package/data/packages/platform-documents/api/Variable.IMAGE_PROCESSOR_TOKEN.md +1 -1
- package/data/packages/platform-documents/api/index.md +6 -0
- package/data/packages/platform-documents/index.md +27 -0
- package/data/packages/platform-esigning/api/Class.EsigningClientPort.md +2 -2
- package/data/packages/platform-esigning/api/Class.InternalEsigningProvider.md +8 -8
- package/data/packages/platform-esigning/index.md +2 -0
- package/data/packages/platform-health/index.md +128 -0
- package/data/packages/platform-intelligence/api/Class.IntelligenceCapabilityRegistry.md +3 -3
- package/data/packages/platform-intelligence/api/Class.IntelligenceConfigurationError.md +50 -0
- package/data/packages/platform-intelligence/api/Class.IntelligenceTextGenerator.md +27 -4
- package/data/packages/platform-intelligence/api/Class.IntelligenceValidationError.md +50 -0
- package/data/packages/platform-intelligence/api/Function.loadProviderFactory.md +1 -1
- package/data/packages/platform-intelligence/api/index.md +2 -0
- package/data/packages/platform-intelligence/index.md +32 -0
- package/data/packages/platform-logging/api/Class.LoggerModule.md +1 -1
- package/data/packages/platform-logging/index.md +2 -0
- package/data/packages/platform-mailing/api/Class.DeliveryStrategyBase.md +0 -1
- package/data/packages/platform-mailing/api/Class.MailDeliveryError.md +65 -0
- package/data/packages/platform-mailing/api/Class.MailModule.md +1 -1
- package/data/packages/platform-mailing/api/Class.MailgunDeliveryStrategy.md +3 -3
- package/data/packages/platform-mailing/api/Class.PostmarkDeliveryStrategy.md +3 -3
- package/data/packages/platform-mailing/api/Class.ResendDeliveryStrategy.md +3 -3
- package/data/packages/platform-mailing/api/Class.SendGridDeliveryStrategy.md +3 -3
- package/data/packages/platform-mailing/api/Class.SmtpDeliveryStrategy.md +3 -3
- package/data/packages/platform-mailing/api/Class.TemplateFetchStrategyBase.md +0 -5
- package/data/packages/platform-mailing/api/Variable.SMTP_CONFIG_ENTRIES.md +14 -0
- package/data/packages/platform-mailing/api/Variable.SMTP_HOST.md +14 -0
- package/data/packages/platform-mailing/api/Variable.SMTP_PASSWORD.md +14 -0
- package/data/packages/platform-mailing/api/Variable.SMTP_PORT.md +14 -0
- package/data/packages/platform-mailing/api/Variable.SMTP_SECURE.md +14 -0
- package/data/packages/platform-mailing/api/Variable.SMTP_USER.md +14 -0
- package/data/packages/platform-mailing/api/index.md +7 -3
- package/data/packages/platform-mailing/index.md +29 -0
- package/data/packages/platform-mapping/index.md +121 -0
- package/data/packages/platform-mcp/api/Class.McpServerService.md +8 -8
- package/data/packages/platform-mcp/api/Variable.MCP_MODULE_OPTIONS.md +1 -1
- package/data/packages/platform-mcp/index.md +11 -0
- package/data/packages/platform-openapi/api/Class.SwaggerMultiDocumentService.md +4 -4
- package/data/packages/platform-openapi/api/Class.SwaggerTheme.md +2 -2
- package/data/packages/platform-openapi/index.md +1 -1
- package/data/packages/platform-payments/api/Class.LemonSqueezyClient.md +6 -6
- package/data/packages/platform-payments/api/Class.MollieClient.md +6 -6
- package/data/packages/platform-payments/api/Class.PaddleClient.md +6 -6
- package/data/packages/platform-payments/api/Class.PaymentError.md +65 -0
- package/data/packages/platform-payments/api/Class.StripeClient.md +6 -6
- package/data/packages/platform-payments/api/index.md +1 -0
- package/data/packages/platform-payments/index.md +29 -0
- package/data/packages/platform-reporting/api/Class.ReportingContributorRegistry.md +1 -1
- package/data/packages/platform-reporting/index.md +3 -1
- package/data/packages/platform-resources/index.md +135 -0
- package/data/packages/platform-telemetry/api/Class.MetricsService.md +29 -3
- package/data/packages/platform-telemetry/api/Class.OtelSdkHolder.md +3 -2
- package/data/packages/platform-telemetry/api/Class.TelemetryLoggerService.md +6 -6
- package/data/packages/platform-telemetry/api/Class.TelemetryRuleEngine.md +3 -3
- package/data/packages/platform-telemetry/api/Variable.TELEMETRY_ENABLED.md +1 -1
- package/data/packages/platform-telemetry/api/Variable.TELEMETRY_FACADE.md +1 -1
- package/data/packages/platform-telemetry/api/Variable.TELEMETRY_OPTIONS.md +1 -1
- package/data/packages/platform-telemetry/api/index.md +1 -1
- package/data/packages/platform-telemetry/index.md +3 -1
- package/{src/knowledge/configPattern.js → data/patterns/config-pattern.md} +44 -47
- package/{src/knowledge/dtoPattern.js → data/patterns/dto-pattern.md} +58 -61
- package/{src/knowledge/errorHandlingPattern.js → data/patterns/error-handling-pattern.md} +35 -38
- package/{src/knowledge/guardPattern.js → data/patterns/guard-pattern.md} +35 -38
- package/{src/knowledge/mappingPattern.js → data/patterns/mapping-pattern.md} +43 -144
- package/data/patterns/module-pattern.md +182 -0
- package/data/patterns/query-pattern.md +137 -0
- package/data/patterns/repository-pattern.md +208 -0
- package/{src/knowledge/testingPattern.js → data/patterns/testing-pattern.md} +37 -40
- package/package.json +1 -1
- package/src/PatternsLoader.d.ts +12 -0
- package/src/PatternsLoader.js +65 -0
- package/src/generators/mappingPatternGenerator.d.ts +5 -0
- package/src/generators/mappingPatternGenerator.js +107 -0
- package/src/generators/modulePatternGenerator.d.ts +5 -0
- package/src/generators/modulePatternGenerator.js +107 -0
- package/src/generators/queryPatternGenerator.d.ts +4 -0
- package/src/generators/queryPatternGenerator.js +83 -0
- package/src/generators/repositoryPatternGenerator.d.ts +5 -0
- package/src/generators/repositoryPatternGenerator.js +165 -0
- package/src/main.js +15 -9
- package/src/models/IPatternDoc.d.ts +15 -0
- package/src/models/IPatternDoc.js +3 -0
- package/src/tools/registerGetConfigPatternTool.d.ts +2 -1
- package/src/tools/registerGetConfigPatternTool.js +4 -3
- package/src/tools/registerGetDtoPatternTool.d.ts +2 -1
- package/src/tools/registerGetDtoPatternTool.js +4 -3
- package/src/tools/registerGetErrorHandlingPatternTool.d.ts +2 -1
- package/src/tools/registerGetErrorHandlingPatternTool.js +4 -3
- package/src/tools/registerGetGuardPatternTool.d.ts +2 -1
- package/src/tools/registerGetGuardPatternTool.js +4 -3
- package/src/tools/registerGetMappingPatternTool.d.ts +2 -1
- package/src/tools/registerGetMappingPatternTool.js +5 -4
- package/src/tools/registerGetModulePatternTool.d.ts +2 -1
- package/src/tools/registerGetModulePatternTool.js +5 -4
- package/src/tools/registerGetQueryPatternTool.d.ts +2 -1
- package/src/tools/registerGetQueryPatternTool.js +5 -4
- package/src/tools/registerGetRepositoryPatternTool.d.ts +2 -1
- package/src/tools/registerGetRepositoryPatternTool.js +5 -4
- package/src/tools/registerGetTestingPatternTool.d.ts +2 -1
- package/src/tools/registerGetTestingPatternTool.js +4 -3
- package/data/packages/platform-core/api/Class.BlobResourceStrategy.md +0 -195
- package/data/packages/platform-core/api/Class.EmbeddedResourceStrategy.md +0 -215
- package/data/packages/platform-core/api/Class.FileResourceStrategy.md +0 -192
- package/data/packages/platform-core/api/Class.HealthModule.md +0 -42
- package/data/packages/platform-core/api/Class.HealthOrchestrator.md +0 -64
- package/data/packages/platform-core/api/Class.MappingBuilder.md +0 -110
- package/data/packages/platform-core/api/Class.MappingModule.md +0 -46
- package/data/packages/platform-core/api/Class.MappingNotRegisteredError.md +0 -56
- package/data/packages/platform-core/api/Class.MappingProfileBase.md +0 -52
- package/data/packages/platform-core/api/Class.MappingService.md +0 -284
- package/data/packages/platform-core/api/Class.ResourceManager.md +0 -565
- package/data/packages/platform-core/api/Class.ResourceModule.md +0 -46
- package/data/packages/platform-core/api/Class.TypeMappingNotRegisteredError.md +0 -57
- package/data/packages/platform-core/api/Function.createMappingKey.md +0 -39
- package/data/packages/platform-core/api/Interface.IBlobResourceStrategyConfig.md +0 -28
- package/data/packages/platform-core/api/Interface.IBlobServiceAdapter.md +0 -40
- package/data/packages/platform-core/api/Interface.IFileResourceStrategyConfig.md +0 -72
- package/data/packages/platform-core/api/Interface.IHealthCheckResult.md +0 -46
- package/data/packages/platform-core/api/Interface.IHealthIndicator.md +0 -41
- package/data/packages/platform-core/api/Interface.IMappingBuilder.md +0 -76
- package/data/packages/platform-core/api/Interface.IMappingKey.md +0 -58
- package/data/packages/platform-core/api/Interface.IMappingProfile.md +0 -32
- package/data/packages/platform-core/api/Interface.IResourceManagerConfig.md +0 -89
- package/data/packages/platform-core/api/Interface.IResourceMetadata.md +0 -94
- package/data/packages/platform-core/api/Interface.IResourceResult.md +0 -34
- package/data/packages/platform-core/api/Interface.IResourceStrategy.md +0 -134
- package/data/packages/platform-core/api/Variable.HEALTH_INDICATORS_TOKEN.md +0 -14
- package/data/packages/platform-mailing/api/Class.BlobTemplateFetchStrategy.md +0 -60
- package/data/packages/platform-mailing/api/Class.FileTemplateFetchStrategy.md +0 -58
- package/data/packages/platform-mailing/api/Class.LogDeliveryStrategy.md +0 -71
- package/src/knowledge/configPattern.d.ts +0 -5
- package/src/knowledge/dtoPattern.d.ts +0 -5
- package/src/knowledge/errorHandlingPattern.d.ts +0 -5
- package/src/knowledge/guardPattern.d.ts +0 -5
- package/src/knowledge/mappingPattern.d.ts +0 -6
- package/src/knowledge/modulePattern.d.ts +0 -6
- package/src/knowledge/modulePattern.js +0 -283
- package/src/knowledge/queryPattern.d.ts +0 -6
- package/src/knowledge/queryPattern.js +0 -215
- package/src/knowledge/repositoryPattern.d.ts +0 -6
- package/src/knowledge/repositoryPattern.js +0 -367
- package/src/knowledge/testingPattern.d.ts +0 -5
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: 'Variable: SMTP\_HOST'
|
|
3
|
+
generated: true
|
|
4
|
+
editUrl: false
|
|
5
|
+
---
|
|
6
|
+
# Variable: SMTP\_HOST
|
|
7
|
+
|
|
8
|
+
```ts
|
|
9
|
+
const SMTP_HOST: IConfigKey<string>;
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
Defined in: [platform-mailing/src/smtp/env.ts:12](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mailing/src/smtp/env.ts#L12)
|
|
13
|
+
|
|
14
|
+
SMTP server host.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: 'Variable: SMTP\_PASSWORD'
|
|
3
|
+
generated: true
|
|
4
|
+
editUrl: false
|
|
5
|
+
---
|
|
6
|
+
# Variable: SMTP\_PASSWORD
|
|
7
|
+
|
|
8
|
+
```ts
|
|
9
|
+
const SMTP_PASSWORD: IConfigKey<string>;
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
Defined in: [platform-mailing/src/smtp/env.ts:24](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mailing/src/smtp/env.ts#L24)
|
|
13
|
+
|
|
14
|
+
SMTP authentication password.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: 'Variable: SMTP\_PORT'
|
|
3
|
+
generated: true
|
|
4
|
+
editUrl: false
|
|
5
|
+
---
|
|
6
|
+
# Variable: SMTP\_PORT
|
|
7
|
+
|
|
8
|
+
```ts
|
|
9
|
+
const SMTP_PORT: IConfigKey<number>;
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
Defined in: [platform-mailing/src/smtp/env.ts:15](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mailing/src/smtp/env.ts#L15)
|
|
13
|
+
|
|
14
|
+
SMTP server port.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: 'Variable: SMTP\_SECURE'
|
|
3
|
+
generated: true
|
|
4
|
+
editUrl: false
|
|
5
|
+
---
|
|
6
|
+
# Variable: SMTP\_SECURE
|
|
7
|
+
|
|
8
|
+
```ts
|
|
9
|
+
const SMTP_SECURE: IConfigKey<boolean>;
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
Defined in: [platform-mailing/src/smtp/env.ts:18](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mailing/src/smtp/env.ts#L18)
|
|
13
|
+
|
|
14
|
+
Whether the SMTP connection uses TLS.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: 'Variable: SMTP\_USER'
|
|
3
|
+
generated: true
|
|
4
|
+
editUrl: false
|
|
5
|
+
---
|
|
6
|
+
# Variable: SMTP\_USER
|
|
7
|
+
|
|
8
|
+
```ts
|
|
9
|
+
const SMTP_USER: IConfigKey<string>;
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
Defined in: [platform-mailing/src/smtp/env.ts:21](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mailing/src/smtp/env.ts#L21)
|
|
13
|
+
|
|
14
|
+
SMTP authentication username.
|
|
@@ -9,10 +9,8 @@ editUrl: false
|
|
|
9
9
|
|
|
10
10
|
| Class | Description |
|
|
11
11
|
| ------ | ------ |
|
|
12
|
-
| [BlobTemplateFetchStrategy](Class.BlobTemplateFetchStrategy) | The `BlobTemplateFetchStrategy` class. |
|
|
13
12
|
| [DeliveryStrategyBase](Class.DeliveryStrategyBase) | Represents the base class for all email delivery strategies. |
|
|
14
|
-
| [
|
|
15
|
-
| [LogDeliveryStrategy](Class.LogDeliveryStrategy) | The `LogDeliveryStrategy` class. |
|
|
13
|
+
| [MailDeliveryError](Class.MailDeliveryError) | Domain error thrown when email delivery fails. |
|
|
16
14
|
| [MailgunDeliveryStrategy](Class.MailgunDeliveryStrategy) | Delivers emails via the Mailgun API. |
|
|
17
15
|
| [MailHealthIndicator](Class.MailHealthIndicator) | Health indicator for mail service. |
|
|
18
16
|
| [MailModule](Class.MailModule) | Represents the mail module. |
|
|
@@ -75,3 +73,9 @@ editUrl: false
|
|
|
75
73
|
| [SEND\_MAIL\_EVENT\_KEY](Variable.SEND_MAIL_EVENT_KEY) | Event key registry for the mail domain events. |
|
|
76
74
|
| [SENDGRID\_API\_KEY](Variable.SENDGRID_API_KEY) | API key for the SendGrid delivery service. |
|
|
77
75
|
| [SENDGRID\_CONFIG\_ENTRIES](Variable.SENDGRID_CONFIG_ENTRIES) | Configuration entries required by the SendGrid delivery provider. |
|
|
76
|
+
| [SMTP\_CONFIG\_ENTRIES](Variable.SMTP_CONFIG_ENTRIES) | Configuration entries required by the SMTP delivery provider. |
|
|
77
|
+
| [SMTP\_HOST](Variable.SMTP_HOST) | SMTP server host. |
|
|
78
|
+
| [SMTP\_PASSWORD](Variable.SMTP_PASSWORD) | SMTP authentication password. |
|
|
79
|
+
| [SMTP\_PORT](Variable.SMTP_PORT) | SMTP server port. |
|
|
80
|
+
| [SMTP\_SECURE](Variable.SMTP_SECURE) | Whether the SMTP connection uses TLS. |
|
|
81
|
+
| [SMTP\_USER](Variable.SMTP_USER) | SMTP authentication username. |
|
|
@@ -353,6 +353,34 @@ export class OrderEmailService {
|
|
|
353
353
|
|
|
354
354
|
---
|
|
355
355
|
|
|
356
|
+
## Error Handling
|
|
357
|
+
|
|
358
|
+
All delivery strategies throw a `MailDeliveryError` when email sending fails. This domain error class wraps the underlying provider SDK error and exposes structured metadata for error handling and observability.
|
|
359
|
+
|
|
360
|
+
```typescript
|
|
361
|
+
import { MailDeliveryError } from '@breadstone/archipel-platform-mailing';
|
|
362
|
+
|
|
363
|
+
try {
|
|
364
|
+
await this._mail.send(options, content, true);
|
|
365
|
+
} catch (error) {
|
|
366
|
+
if (error instanceof MailDeliveryError) {
|
|
367
|
+
logger.error('Mail delivery failed', {
|
|
368
|
+
provider: error.provider, // 'postmark', 'resend', 'sendgrid', etc.
|
|
369
|
+
code: error.code, // 'MAIL_DELIVERY'
|
|
370
|
+
cause: error.cause, // Original provider SDK error
|
|
371
|
+
});
|
|
372
|
+
}
|
|
373
|
+
}
|
|
374
|
+
```
|
|
375
|
+
|
|
376
|
+
| Property | Type | Description |
|
|
377
|
+
| ---------- | -------- | ---------------------------------------------- |
|
|
378
|
+
| `code` | `string` | Always `'MAIL_DELIVERY'` |
|
|
379
|
+
| `provider` | `string` | Provider that failed (`smtp`, `postmark`, etc.) |
|
|
380
|
+
| `cause` | `unknown`| Original error from the provider SDK |
|
|
381
|
+
|
|
382
|
+
---
|
|
383
|
+
|
|
356
384
|
## Exports Summary
|
|
357
385
|
|
|
358
386
|
### Core (`@breadstone/archipel-platform-mailing`)
|
|
@@ -372,6 +400,7 @@ export class OrderEmailService {
|
|
|
372
400
|
| `FileTemplateFetchStrategy` | Strategy | File-based templates |
|
|
373
401
|
| `BlobTemplateFetchStrategy` | Strategy | Blob-stored templates |
|
|
374
402
|
| `MailHealthIndicator` | Health | Mail readiness check |
|
|
403
|
+
| `MailDeliveryError` | Error class | Domain error for delivery failures |
|
|
375
404
|
|
|
376
405
|
### Provider subpaths
|
|
377
406
|
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: platform-mapping
|
|
3
|
+
description: Type-safe object-to-object mapping framework with profile-based configuration.
|
|
4
|
+
order: 2
|
|
5
|
+
tags: [mapping, dto, profiles, type-safe]
|
|
6
|
+
package: '@breadstone/archipel-platform-mapping'
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# platform-mapping
|
|
10
|
+
|
|
11
|
+
Type-safe object-to-object mapping framework for transforming domain entities into response DTOs. Extracted from `platform-core` to provide a focused, independently versionable mapping module.
|
|
12
|
+
|
|
13
|
+
**Package:** `@breadstone/archipel-platform-mapping`
|
|
14
|
+
|
|
15
|
+
## Installation
|
|
16
|
+
|
|
17
|
+
```typescript
|
|
18
|
+
import {
|
|
19
|
+
MappingModule,
|
|
20
|
+
MappingService,
|
|
21
|
+
MappingProfileBase,
|
|
22
|
+
MappingKey,
|
|
23
|
+
MappingError,
|
|
24
|
+
MappingNotRegisteredError,
|
|
25
|
+
TypeMappingNotRegisteredError,
|
|
26
|
+
} from '@breadstone/archipel-platform-mapping';
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## Defining Mapping Keys
|
|
32
|
+
|
|
33
|
+
Mapping keys are branded constants that provide compile-time safety for source → destination pairs:
|
|
34
|
+
|
|
35
|
+
```typescript
|
|
36
|
+
import { MappingKey } from '@breadstone/archipel-platform-mapping';
|
|
37
|
+
import type { IUserEntity } from './entities';
|
|
38
|
+
import type { UserResponse } from './responses';
|
|
39
|
+
|
|
40
|
+
export const USER_TO_RESPONSE = new MappingKey<IUserEntity, UserResponse>('UserEntity→UserResponse');
|
|
41
|
+
export const USER_TO_SUMMARY = new MappingKey<IUserEntity, UserSummary>('UserEntity→UserSummary');
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## Creating a Mapping Profile
|
|
45
|
+
|
|
46
|
+
Profiles group related mappings into cohesive, injectable classes:
|
|
47
|
+
|
|
48
|
+
```typescript
|
|
49
|
+
import { Injectable } from '@nestjs/common';
|
|
50
|
+
import { MappingProfileBase, type IMappingBuilder } from '@breadstone/archipel-platform-mapping';
|
|
51
|
+
import { USER_TO_RESPONSE, USER_TO_SUMMARY } from './mapping-keys';
|
|
52
|
+
|
|
53
|
+
@Injectable()
|
|
54
|
+
export class UserMappingProfile extends MappingProfileBase {
|
|
55
|
+
public override configure(builder: IMappingBuilder): void {
|
|
56
|
+
builder.createKeyedMap(USER_TO_RESPONSE, (source) => ({
|
|
57
|
+
id: source.id,
|
|
58
|
+
name: source.userName,
|
|
59
|
+
email: source.email,
|
|
60
|
+
verified: source.isVerified,
|
|
61
|
+
roles: [...source.roles],
|
|
62
|
+
}));
|
|
63
|
+
|
|
64
|
+
builder.createKeyedMap(USER_TO_SUMMARY, (source) => ({
|
|
65
|
+
id: source.id,
|
|
66
|
+
displayName: source.userName ?? source.email ?? 'Anonymous',
|
|
67
|
+
}));
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
## Registering Profiles in a Module
|
|
73
|
+
|
|
74
|
+
```typescript
|
|
75
|
+
import { Module } from '@nestjs/common';
|
|
76
|
+
import { MappingModule } from '@breadstone/archipel-platform-mapping';
|
|
77
|
+
import { UserMappingProfile } from './mappers/UserMappingProfile';
|
|
78
|
+
|
|
79
|
+
@Module({
|
|
80
|
+
imports: [MappingModule.withProfiles([UserMappingProfile])],
|
|
81
|
+
})
|
|
82
|
+
export class AppModule {}
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
## Using in a Controller
|
|
86
|
+
|
|
87
|
+
```typescript
|
|
88
|
+
import { Controller, Get, Param } from '@nestjs/common';
|
|
89
|
+
import { MappingService } from '@breadstone/archipel-platform-mapping';
|
|
90
|
+
import { USER_TO_RESPONSE } from './mapping-keys';
|
|
91
|
+
|
|
92
|
+
@Controller('users')
|
|
93
|
+
export class UserController {
|
|
94
|
+
constructor(
|
|
95
|
+
private readonly _userService: UserService,
|
|
96
|
+
private readonly _mappingService: MappingService,
|
|
97
|
+
) {}
|
|
98
|
+
|
|
99
|
+
@Get(':id')
|
|
100
|
+
public async getUser(@Param('id') id: string): Promise<UserResponse> {
|
|
101
|
+
const entity = await this._userService.findById(id);
|
|
102
|
+
return this._mappingService.map(USER_TO_RESPONSE, entity);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
---
|
|
108
|
+
|
|
109
|
+
## Error Classes
|
|
110
|
+
|
|
111
|
+
| Error | Description |
|
|
112
|
+
| ------------------------------ | ----------------------------------------------- |
|
|
113
|
+
| `MappingError` | Base error for all mapping failures |
|
|
114
|
+
| `MappingNotRegisteredError` | Thrown when a mapping key has no registered map |
|
|
115
|
+
| `TypeMappingNotRegisteredError`| Thrown when a type-based mapping is not found |
|
|
116
|
+
|
|
117
|
+
---
|
|
118
|
+
|
|
119
|
+
## API Reference
|
|
120
|
+
|
|
121
|
+
See the auto-generated [API Reference](./api/) for full details on all exported classes, interfaces, and types.
|
|
@@ -24,7 +24,7 @@ the registry, and provides methods to connect various transports.
|
|
|
24
24
|
new McpServerService(_options, _registry): McpServerService;
|
|
25
25
|
```
|
|
26
26
|
|
|
27
|
-
Defined in: [services/McpServerService.ts:
|
|
27
|
+
Defined in: [services/McpServerService.ts:51](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mcp/src/services/McpServerService.ts#L51)
|
|
28
28
|
|
|
29
29
|
#### Parameters
|
|
30
30
|
|
|
@@ -47,7 +47,7 @@ Defined in: [services/McpServerService.ts:50](https://github.com/RueDeRennes/arc
|
|
|
47
47
|
get server(): McpServer;
|
|
48
48
|
```
|
|
49
49
|
|
|
50
|
-
Defined in: [services/McpServerService.ts:
|
|
50
|
+
Defined in: [services/McpServerService.ts:65](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mcp/src/services/McpServerService.ts#L65)
|
|
51
51
|
|
|
52
52
|
Returns the underlying `McpServer` instance.
|
|
53
53
|
|
|
@@ -67,7 +67,7 @@ Error if the server has not been initialized yet.
|
|
|
67
67
|
connectStdio(): Promise<StdioServerTransport>;
|
|
68
68
|
```
|
|
69
69
|
|
|
70
|
-
Defined in: [services/McpServerService.ts:
|
|
70
|
+
Defined in: [services/McpServerService.ts:129](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mcp/src/services/McpServerService.ts#L129)
|
|
71
71
|
|
|
72
72
|
Connects the server to a stdio transport.
|
|
73
73
|
Suitable for local, process-spawned integrations.
|
|
@@ -84,7 +84,7 @@ Suitable for local, process-spawned integrations.
|
|
|
84
84
|
connectTransport(transport): Promise<void>;
|
|
85
85
|
```
|
|
86
86
|
|
|
87
|
-
Defined in: [services/McpServerService.ts:
|
|
87
|
+
Defined in: [services/McpServerService.ts:183](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mcp/src/services/McpServerService.ts#L183)
|
|
88
88
|
|
|
89
89
|
Connects a custom transport to the MCP server.
|
|
90
90
|
|
|
@@ -106,7 +106,7 @@ Connects a custom transport to the MCP server.
|
|
|
106
106
|
createSseTransport(options, response): Promise<SSEServerTransport>;
|
|
107
107
|
```
|
|
108
108
|
|
|
109
|
-
Defined in: [services/McpServerService.ts:
|
|
109
|
+
Defined in: [services/McpServerService.ts:169](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mcp/src/services/McpServerService.ts#L169)
|
|
110
110
|
|
|
111
111
|
Creates an SSE transport for legacy client support.
|
|
112
112
|
The caller is responsible for wiring the returned transport to Express routes.
|
|
@@ -132,7 +132,7 @@ The configured SSE transport instance.
|
|
|
132
132
|
createStreamableHttpTransport(options?): Promise<StreamableHTTPServerTransport>;
|
|
133
133
|
```
|
|
134
134
|
|
|
135
|
-
Defined in: [services/McpServerService.ts:
|
|
135
|
+
Defined in: [services/McpServerService.ts:146](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mcp/src/services/McpServerService.ts#L146)
|
|
136
136
|
|
|
137
137
|
Creates a Streamable HTTP transport for use with Express.
|
|
138
138
|
The caller is responsible for wiring the transport's `handleRequest`
|
|
@@ -158,7 +158,7 @@ The configured transport instance.
|
|
|
158
158
|
onModuleDestroy(): Promise<void>;
|
|
159
159
|
```
|
|
160
160
|
|
|
161
|
-
Defined in: [services/McpServerService.ts:
|
|
161
|
+
Defined in: [services/McpServerService.ts:103](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mcp/src/services/McpServerService.ts#L103)
|
|
162
162
|
|
|
163
163
|
Cleans up all active transports when the module is destroyed.
|
|
164
164
|
|
|
@@ -180,7 +180,7 @@ OnModuleDestroy.onModuleDestroy
|
|
|
180
180
|
onModuleInit(): void;
|
|
181
181
|
```
|
|
182
182
|
|
|
183
|
-
Defined in: [services/McpServerService.ts:
|
|
183
|
+
Defined in: [services/McpServerService.ts:81](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mcp/src/services/McpServerService.ts#L81)
|
|
184
184
|
|
|
185
185
|
Initializes the MCP server and registers all tools, resources, and prompts
|
|
186
186
|
from the registry.
|
|
@@ -9,6 +9,6 @@ editUrl: false
|
|
|
9
9
|
const MCP_MODULE_OPTIONS: typeof MCP_MODULE_OPTIONS;
|
|
10
10
|
```
|
|
11
11
|
|
|
12
|
-
Defined in: [
|
|
12
|
+
Defined in: [tokens/McpTokens.ts:4](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mcp/src/tokens/McpTokens.ts#L4)
|
|
13
13
|
|
|
14
14
|
Injection tokens used by the MCP module.
|
|
@@ -297,3 +297,14 @@ graph TD
|
|
|
297
297
|
2. **McpDiscoveryService** runs `onModuleInit`, iterates all providers, reads decorator metadata, and populates the registry.
|
|
298
298
|
3. **McpServerService** runs `onModuleInit`, creates the `McpServer` instance, and registers all handlers from the registry.
|
|
299
299
|
4. The application connects a transport (stdio, HTTP, SSE, or custom) to start serving MCP requests.
|
|
300
|
+
|
|
301
|
+
---
|
|
302
|
+
|
|
303
|
+
## Resource Limits & Shutdown
|
|
304
|
+
|
|
305
|
+
| Limit | Value | Description |
|
|
306
|
+
| -------------------- | ---------- | ------------------------------------------------------------------------ |
|
|
307
|
+
| **Max transports** | 1,000 | `McpServerService` tracks up to 1,000 active transports |
|
|
308
|
+
| **Shutdown timeout** | 5 seconds | Each transport and the server are closed with a 5-second timeout guard |
|
|
309
|
+
|
|
310
|
+
When the module is destroyed, `McpServerService.onModuleDestroy()` iterates all active transports, closes each with a 5-second timeout, and then closes the MCP server itself.
|
|
@@ -5,7 +5,7 @@ editUrl: false
|
|
|
5
5
|
---
|
|
6
6
|
# Class: SwaggerMultiDocumentService
|
|
7
7
|
|
|
8
|
-
Defined in: [services/SwaggerMultiDocumentService.ts:
|
|
8
|
+
Defined in: [services/SwaggerMultiDocumentService.ts:15](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-openapi/src/services/SwaggerMultiDocumentService.ts#L15)
|
|
9
9
|
|
|
10
10
|
## Constructors
|
|
11
11
|
|
|
@@ -21,7 +21,7 @@ new SwaggerMultiDocumentService(
|
|
|
21
21
|
contentTemplateEngine): SwaggerMultiDocumentService;
|
|
22
22
|
```
|
|
23
23
|
|
|
24
|
-
Defined in: [services/SwaggerMultiDocumentService.ts:
|
|
24
|
+
Defined in: [services/SwaggerMultiDocumentService.ts:31](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-openapi/src/services/SwaggerMultiDocumentService.ts#L31)
|
|
25
25
|
|
|
26
26
|
#### Parameters
|
|
27
27
|
|
|
@@ -49,7 +49,7 @@ generateOpenApiDocuments(): {
|
|
|
49
49
|
}[];
|
|
50
50
|
```
|
|
51
51
|
|
|
52
|
-
Defined in: [services/SwaggerMultiDocumentService.ts:
|
|
52
|
+
Defined in: [services/SwaggerMultiDocumentService.ts:79](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-openapi/src/services/SwaggerMultiDocumentService.ts#L79)
|
|
53
53
|
|
|
54
54
|
Generates OpenAPI documents for every registered feature without wiring HTTP routes.
|
|
55
55
|
|
|
@@ -68,7 +68,7 @@ Generates OpenAPI documents for every registered feature without wiring HTTP rou
|
|
|
68
68
|
setupMultipleSwaggerDocuments(): Promise<void>;
|
|
69
69
|
```
|
|
70
70
|
|
|
71
|
-
Defined in: [services/SwaggerMultiDocumentService.ts:
|
|
71
|
+
Defined in: [services/SwaggerMultiDocumentService.ts:55](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-openapi/src/services/SwaggerMultiDocumentService.ts#L55)
|
|
72
72
|
|
|
73
73
|
Setup multiple Swagger documents for different features
|
|
74
74
|
|
|
@@ -17,7 +17,7 @@ The swagger theme class
|
|
|
17
17
|
new SwaggerTheme(resourceManager): SwaggerTheme;
|
|
18
18
|
```
|
|
19
19
|
|
|
20
|
-
Defined in: [SwaggerTheme.ts:
|
|
20
|
+
Defined in: [SwaggerTheme.ts:30](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-openapi/src/SwaggerTheme.ts#L30)
|
|
21
21
|
|
|
22
22
|
Constructs a new instance of the `SwaggerTheme` class.
|
|
23
23
|
|
|
@@ -39,7 +39,7 @@ Constructs a new instance of the `SwaggerTheme` class.
|
|
|
39
39
|
getOptions(): Pick<SwaggerCustomOptions, "customCss" | "customJsStr">;
|
|
40
40
|
```
|
|
41
41
|
|
|
42
|
-
Defined in: [SwaggerTheme.ts:
|
|
42
|
+
Defined in: [SwaggerTheme.ts:38](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-openapi/src/SwaggerTheme.ts#L38)
|
|
43
43
|
|
|
44
44
|
#### Returns
|
|
45
45
|
|
|
@@ -201,5 +201,5 @@ const features = registry.getFeatures(); // sorted, read-only copy
|
|
|
201
201
|
| `SwaggerFeatureDiscovery` | Service | Auto-discover features |
|
|
202
202
|
| `SwaggerFeatureRegistry` | Service | Manage feature configs |
|
|
203
203
|
| `SwaggerMultiDocumentService` | Service | Generate per-feature specs |
|
|
204
|
-
| `SwaggerTheme` | Utility | Theme customization
|
|
204
|
+
| `SwaggerTheme` | Utility | Theme customization (CSS/JS cached after first load) |
|
|
205
205
|
| `IFeatureSwaggerConfig` | Interface | Feature config shape |
|
|
@@ -5,7 +5,7 @@ editUrl: false
|
|
|
5
5
|
---
|
|
6
6
|
# Class: LemonSqueezyClient
|
|
7
7
|
|
|
8
|
-
Defined in: [lemonsqueezy/LemonSqueezyClient.ts:
|
|
8
|
+
Defined in: [lemonsqueezy/LemonSqueezyClient.ts:31](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-payments/src/lemonsqueezy/LemonSqueezyClient.ts#L31)
|
|
9
9
|
|
|
10
10
|
LemonSqueezy implementation of the [PaymentClientPort](Class.PaymentClientPort).
|
|
11
11
|
Uses the official `@lemonsqueezy/lemonsqueezy.js` SDK.
|
|
@@ -22,7 +22,7 @@ Uses the official `@lemonsqueezy/lemonsqueezy.js` SDK.
|
|
|
22
22
|
new LemonSqueezyClient(configService): LemonSqueezyClient;
|
|
23
23
|
```
|
|
24
24
|
|
|
25
|
-
Defined in: [lemonsqueezy/LemonSqueezyClient.ts:
|
|
25
|
+
Defined in: [lemonsqueezy/LemonSqueezyClient.ts:41](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-payments/src/lemonsqueezy/LemonSqueezyClient.ts#L41)
|
|
26
26
|
|
|
27
27
|
#### Parameters
|
|
28
28
|
|
|
@@ -46,7 +46,7 @@ Defined in: [lemonsqueezy/LemonSqueezyClient.ts:40](https://github.com/RueDeRenn
|
|
|
46
46
|
constructWebhookEvent(payload, signature): INormalizedWebhookEvent;
|
|
47
47
|
```
|
|
48
48
|
|
|
49
|
-
Defined in: [lemonsqueezy/LemonSqueezyClient.ts:
|
|
49
|
+
Defined in: [lemonsqueezy/LemonSqueezyClient.ts:144](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-payments/src/lemonsqueezy/LemonSqueezyClient.ts#L144)
|
|
50
50
|
|
|
51
51
|
Construct and normalize a webhook event from raw payload.
|
|
52
52
|
|
|
@@ -79,7 +79,7 @@ createCheckoutSession(
|
|
|
79
79
|
userId?): Promise<INormalizedCheckoutSession>;
|
|
80
80
|
```
|
|
81
81
|
|
|
82
|
-
Defined in: [lemonsqueezy/LemonSqueezyClient.ts:
|
|
82
|
+
Defined in: [lemonsqueezy/LemonSqueezyClient.ts:79](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-payments/src/lemonsqueezy/LemonSqueezyClient.ts#L79)
|
|
83
83
|
|
|
84
84
|
Create a checkout session.
|
|
85
85
|
|
|
@@ -110,7 +110,7 @@ Normalized checkout session.
|
|
|
110
110
|
fetchPrices(productId): Promise<INormalizedPrice[]>;
|
|
111
111
|
```
|
|
112
112
|
|
|
113
|
-
Defined in: [lemonsqueezy/LemonSqueezyClient.ts:
|
|
113
|
+
Defined in: [lemonsqueezy/LemonSqueezyClient.ts:57](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-payments/src/lemonsqueezy/LemonSqueezyClient.ts#L57)
|
|
114
114
|
|
|
115
115
|
Fetch all active prices for a product.
|
|
116
116
|
|
|
@@ -140,7 +140,7 @@ fetchSubscription(subscriptionId): Promise<
|
|
|
140
140
|
| null>;
|
|
141
141
|
```
|
|
142
142
|
|
|
143
|
-
Defined in: [lemonsqueezy/LemonSqueezyClient.ts:
|
|
143
|
+
Defined in: [lemonsqueezy/LemonSqueezyClient.ts:125](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-payments/src/lemonsqueezy/LemonSqueezyClient.ts#L125)
|
|
144
144
|
|
|
145
145
|
Retrieve subscription details.
|
|
146
146
|
|
|
@@ -5,7 +5,7 @@ editUrl: false
|
|
|
5
5
|
---
|
|
6
6
|
# Class: MollieClient
|
|
7
7
|
|
|
8
|
-
Defined in: [mollie/MollieClient.ts:
|
|
8
|
+
Defined in: [mollie/MollieClient.ts:25](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-payments/src/mollie/MollieClient.ts#L25)
|
|
9
9
|
|
|
10
10
|
Mollie implementation of the [PaymentClientPort](Class.PaymentClientPort).
|
|
11
11
|
Uses the official `@mollie/api-client` to interact with the Mollie API.
|
|
@@ -22,7 +22,7 @@ Uses the official `@mollie/api-client` to interact with the Mollie API.
|
|
|
22
22
|
new MollieClient(configService): MollieClient;
|
|
23
23
|
```
|
|
24
24
|
|
|
25
|
-
Defined in: [mollie/MollieClient.ts:
|
|
25
|
+
Defined in: [mollie/MollieClient.ts:36](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-payments/src/mollie/MollieClient.ts#L36)
|
|
26
26
|
|
|
27
27
|
#### Parameters
|
|
28
28
|
|
|
@@ -46,7 +46,7 @@ Defined in: [mollie/MollieClient.ts:35](https://github.com/RueDeRennes/archipel/
|
|
|
46
46
|
constructWebhookEvent(payload, signature): INormalizedWebhookEvent;
|
|
47
47
|
```
|
|
48
48
|
|
|
49
|
-
Defined in: [mollie/MollieClient.ts:
|
|
49
|
+
Defined in: [mollie/MollieClient.ts:133](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-payments/src/mollie/MollieClient.ts#L133)
|
|
50
50
|
|
|
51
51
|
Construct and normalize a webhook event from raw payload.
|
|
52
52
|
|
|
@@ -79,7 +79,7 @@ createCheckoutSession(
|
|
|
79
79
|
userId?): Promise<INormalizedCheckoutSession>;
|
|
80
80
|
```
|
|
81
81
|
|
|
82
|
-
Defined in: [mollie/MollieClient.ts:
|
|
82
|
+
Defined in: [mollie/MollieClient.ts:66](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-payments/src/mollie/MollieClient.ts#L66)
|
|
83
83
|
|
|
84
84
|
Creates a checkout session for Mollie.
|
|
85
85
|
|
|
@@ -113,7 +113,7 @@ formatted monetary amount (e.g. "10.00") for the payment creation.
|
|
|
113
113
|
fetchPrices(_productId): Promise<INormalizedPrice[]>;
|
|
114
114
|
```
|
|
115
115
|
|
|
116
|
-
Defined in: [mollie/MollieClient.ts:
|
|
116
|
+
Defined in: [mollie/MollieClient.ts:50](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-payments/src/mollie/MollieClient.ts#L50)
|
|
117
117
|
|
|
118
118
|
Fetch all active prices for a product.
|
|
119
119
|
|
|
@@ -143,7 +143,7 @@ fetchSubscription(subscriptionId): Promise<
|
|
|
143
143
|
| null>;
|
|
144
144
|
```
|
|
145
145
|
|
|
146
|
-
Defined in: [mollie/MollieClient.ts:
|
|
146
|
+
Defined in: [mollie/MollieClient.ts:107](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-payments/src/mollie/MollieClient.ts#L107)
|
|
147
147
|
|
|
148
148
|
Retrieve subscription details.
|
|
149
149
|
|
|
@@ -5,7 +5,7 @@ editUrl: false
|
|
|
5
5
|
---
|
|
6
6
|
# Class: PaddleClient
|
|
7
7
|
|
|
8
|
-
Defined in: [paddle/PaddleClient.ts:
|
|
8
|
+
Defined in: [paddle/PaddleClient.ts:25](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-payments/src/paddle/PaddleClient.ts#L25)
|
|
9
9
|
|
|
10
10
|
Paddle implementation of the [PaymentClientPort](Class.PaymentClientPort).
|
|
11
11
|
Uses the official `@paddle/paddle-node-sdk` to interact with the Paddle Billing API.
|
|
@@ -22,7 +22,7 @@ Uses the official `@paddle/paddle-node-sdk` to interact with the Paddle Billing
|
|
|
22
22
|
new PaddleClient(configService): PaddleClient;
|
|
23
23
|
```
|
|
24
24
|
|
|
25
|
-
Defined in: [paddle/PaddleClient.ts:
|
|
25
|
+
Defined in: [paddle/PaddleClient.ts:36](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-payments/src/paddle/PaddleClient.ts#L36)
|
|
26
26
|
|
|
27
27
|
#### Parameters
|
|
28
28
|
|
|
@@ -46,7 +46,7 @@ Defined in: [paddle/PaddleClient.ts:35](https://github.com/RueDeRennes/archipel/
|
|
|
46
46
|
constructWebhookEvent(payload, signature): Promise<INormalizedWebhookEvent>;
|
|
47
47
|
```
|
|
48
48
|
|
|
49
|
-
Defined in: [paddle/PaddleClient.ts:
|
|
49
|
+
Defined in: [paddle/PaddleClient.ts:122](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-payments/src/paddle/PaddleClient.ts#L122)
|
|
50
50
|
|
|
51
51
|
Construct and normalize a webhook event from raw payload.
|
|
52
52
|
|
|
@@ -79,7 +79,7 @@ createCheckoutSession(
|
|
|
79
79
|
userId?): Promise<INormalizedCheckoutSession>;
|
|
80
80
|
```
|
|
81
81
|
|
|
82
|
-
Defined in: [paddle/PaddleClient.ts:
|
|
82
|
+
Defined in: [paddle/PaddleClient.ts:73](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-payments/src/paddle/PaddleClient.ts#L73)
|
|
83
83
|
|
|
84
84
|
Create a checkout session.
|
|
85
85
|
|
|
@@ -110,7 +110,7 @@ Normalized checkout session.
|
|
|
110
110
|
fetchPrices(productId): Promise<INormalizedPrice[]>;
|
|
111
111
|
```
|
|
112
112
|
|
|
113
|
-
Defined in: [paddle/PaddleClient.ts:
|
|
113
|
+
Defined in: [paddle/PaddleClient.ts:53](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-payments/src/paddle/PaddleClient.ts#L53)
|
|
114
114
|
|
|
115
115
|
Fetch all active prices for a product.
|
|
116
116
|
|
|
@@ -140,7 +140,7 @@ fetchSubscription(subscriptionId): Promise<
|
|
|
140
140
|
| null>;
|
|
141
141
|
```
|
|
142
142
|
|
|
143
|
-
Defined in: [paddle/PaddleClient.ts:
|
|
143
|
+
Defined in: [paddle/PaddleClient.ts:107](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-payments/src/paddle/PaddleClient.ts#L107)
|
|
144
144
|
|
|
145
145
|
Retrieve subscription details.
|
|
146
146
|
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: 'Class: PaymentError'
|
|
3
|
+
generated: true
|
|
4
|
+
editUrl: false
|
|
5
|
+
---
|
|
6
|
+
# Class: PaymentError
|
|
7
|
+
|
|
8
|
+
Defined in: [errors/PaymentError.ts:6](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-payments/src/errors/PaymentError.ts#L6)
|
|
9
|
+
|
|
10
|
+
Domain error thrown when a payment operation fails.
|
|
11
|
+
|
|
12
|
+
## Extends
|
|
13
|
+
|
|
14
|
+
- `Error`
|
|
15
|
+
|
|
16
|
+
## Constructors
|
|
17
|
+
|
|
18
|
+
### Constructor
|
|
19
|
+
|
|
20
|
+
```ts
|
|
21
|
+
new PaymentError(
|
|
22
|
+
provider,
|
|
23
|
+
message,
|
|
24
|
+
cause?): PaymentError;
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
Defined in: [errors/PaymentError.ts:16](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-payments/src/errors/PaymentError.ts#L16)
|
|
28
|
+
|
|
29
|
+
#### Parameters
|
|
30
|
+
|
|
31
|
+
| Parameter | Type |
|
|
32
|
+
| ------ | ------ |
|
|
33
|
+
| `provider` | `string` |
|
|
34
|
+
| `message` | `string` |
|
|
35
|
+
| `cause?` | `unknown` |
|
|
36
|
+
|
|
37
|
+
#### Returns
|
|
38
|
+
|
|
39
|
+
`PaymentError`
|
|
40
|
+
|
|
41
|
+
#### Overrides
|
|
42
|
+
|
|
43
|
+
```ts
|
|
44
|
+
Error.constructor
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## Properties
|
|
48
|
+
|
|
49
|
+
### code
|
|
50
|
+
|
|
51
|
+
```ts
|
|
52
|
+
readonly code: "PAYMENT" = 'PAYMENT';
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
Defined in: [errors/PaymentError.ts:9](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-payments/src/errors/PaymentError.ts#L9)
|
|
56
|
+
|
|
57
|
+
***
|
|
58
|
+
|
|
59
|
+
### provider
|
|
60
|
+
|
|
61
|
+
```ts
|
|
62
|
+
readonly provider: string;
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
Defined in: [errors/PaymentError.ts:10](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-payments/src/errors/PaymentError.ts#L10)
|