@typetron/framework 0.5.34 → 0.5.36

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.
Files changed (42) hide show
  1. package/Framework/Readme.md +3 -0
  2. package/Mail/Readme.md +84 -2
  3. package/Storage/Readme.md +17 -13
  4. package/build/Framework/Config/MailConfig.d.ts +2 -0
  5. package/build/Framework/Config/MailConfig.d.ts.map +1 -1
  6. package/build/Framework/Config/MailConfig.js.map +1 -1
  7. package/build/Framework/Providers/MailProvider.d.ts.map +1 -1
  8. package/build/Framework/Providers/MailProvider.js +9 -2
  9. package/build/Framework/Providers/MailProvider.js.map +1 -1
  10. package/build/Mail/MailError.d.ts +12 -0
  11. package/build/Mail/MailError.d.ts.map +1 -0
  12. package/build/Mail/MailError.js +17 -0
  13. package/build/Mail/MailError.js.map +1 -0
  14. package/build/Mail/SentMessage.d.ts +5 -0
  15. package/build/Mail/SentMessage.d.ts.map +1 -1
  16. package/build/Mail/SentMessage.js +5 -0
  17. package/build/Mail/SentMessage.js.map +1 -1
  18. package/build/Mail/Transports/CloudflareTransport.d.ts +13 -0
  19. package/build/Mail/Transports/CloudflareTransport.d.ts.map +1 -0
  20. package/build/Mail/Transports/CloudflareTransport.js +86 -0
  21. package/build/Mail/Transports/CloudflareTransport.js.map +1 -0
  22. package/build/Mail/Transports/SendGridTransport.d.ts.map +1 -1
  23. package/build/Mail/Transports/SendGridTransport.js +13 -2
  24. package/build/Mail/Transports/SendGridTransport.js.map +1 -1
  25. package/build/Mail/index.d.ts +3 -0
  26. package/build/Mail/index.d.ts.map +1 -1
  27. package/build/Mail/index.js +3 -0
  28. package/build/Mail/index.js.map +1 -1
  29. package/build/Router/Http/Request.d.ts.map +1 -1
  30. package/build/Router/Http/Request.js +3 -1
  31. package/build/Router/Http/Request.js.map +1 -1
  32. package/build/Router/Servers/uNetworking.js +3 -1
  33. package/build/Router/Servers/uNetworking.js.map +1 -1
  34. package/build/Storage/Drivers/LocalDriver.d.ts +4 -0
  35. package/build/Storage/Drivers/LocalDriver.d.ts.map +1 -1
  36. package/build/Storage/Drivers/LocalDriver.js +38 -16
  37. package/build/Storage/Drivers/LocalDriver.js.map +1 -1
  38. package/build/Storage/errors.d.ts +3 -0
  39. package/build/Storage/errors.d.ts.map +1 -1
  40. package/build/Storage/errors.js +7 -1
  41. package/build/Storage/errors.js.map +1 -1
  42. package/package.json +1 -1
@@ -60,6 +60,9 @@ the application loads each file.
60
60
  `AppConfig.server` selects the Node or uWebSockets HTTP server. A configured `websocketsPort` starts the separate WebSocket provider. Static
61
61
  assets are served when `staticAssets` entries are present.
62
62
 
63
+ `MailConfig.default` supports `memory`, `SendGrid`, and `Cloudflare`. Cloudflare requires `mailers.Cloudflare.accountId` and
64
+ `mailers.Cloudflare.apiToken`; see [Mail configuration](../Mail/Readme.md#cloudflare).
65
+
63
66
  Authentication configuration must provide a signing `signature`. If it is missing, application creation throws an error stating that
64
67
  `APP_SECRET` is not set up.
65
68
 
package/Mail/Readme.md CHANGED
@@ -6,6 +6,9 @@
6
6
  - [Sending Mail](#sending-mail)
7
7
  - [Recipients and Message Details](#recipients-and-message-details)
8
8
  - [Transports and Testing](#transports-and-testing)
9
+ - [Delivery Outcomes](#delivery-outcomes)
10
+ - [Cloudflare](#cloudflare)
11
+ - [Delivery Errors](#delivery-errors)
9
12
 
10
13
  ## Introduction
11
14
 
@@ -14,7 +17,8 @@ performs the delivery.
14
17
 
15
18
  ## Configuration
16
19
 
17
- Applications normally register `MailProvider` and configure `MailConfig`. The `default` mailer may be `memory` or `SendGrid`, and `from`
20
+ Applications normally register `MailProvider` and configure `MailConfig`. The `default` mailer may be `memory`, `SendGrid`, or `Cloudflare`,
21
+ and `from`
18
22
  supplies the default sender.
19
23
 
20
24
  ```ts
@@ -89,7 +93,7 @@ await mail
89
93
  ## Transports and Testing
90
94
 
91
95
  `MemoryTransport` stores sent messages in its public `messages` array and is suitable for tests and local development. `SendGridTransport`
92
- sends through `@sendgrid/mail` and converts SendGrid failures into an HTTP error.
96
+ sends through `@sendgrid/mail`. `CloudflareTransport` uses Node's built-in `fetch` to send through Cloudflare's REST API.
93
97
 
94
98
  ```ts
95
99
  const [message] = transport.messages
@@ -97,3 +101,81 @@ const [message] = transport.messages
97
101
  console.log(message.to)
98
102
  console.log(message.body)
99
103
  ```
104
+
105
+ ## Delivery Outcomes
106
+
107
+ Every transport returns the shared `SentMessage` type, exported from `@Typetron/Mail`. In addition to the original message details,
108
+ it has optional `messageId`, `delivered`, `queued`, `permanentBounces`, and `suppressedRecipients` fields.
109
+
110
+ Providers populate only the information they report. An `undefined` address array means the outcome was not reported; an empty array
111
+ means the provider reported no recipients with that outcome. A successful send means the transport accepted the request, and does not
112
+ guarantee delivery to every recipient. Outcomes describe the send response and are not updated later.
113
+
114
+ Cloudflare reports delivery, queue, and permanent bounce address arrays, plus suppressed recipients and a message ID when provided.
115
+ SendGrid exposes its [X-Message-ID response header](https://www.twilio.com/docs/sendgrid/glossary/x-message-id) as `messageId`,
116
+ leaving delivery outcomes undefined. Memory transport leaves all delivery metadata undefined.
117
+
118
+ ```ts
119
+ const sent = await mail.to('john@example.com').subject('Welcome').send('Welcome!')
120
+ if (sent.permanentBounces?.length) {
121
+ console.warn('Recipients bounced:', sent.permanentBounces)
122
+ }
123
+ ```
124
+
125
+ ## Cloudflare
126
+
127
+ Configure a Cloudflare account ID, an API token with email sending permission, and a sender on a domain configured for
128
+ [Cloudflare Email Service](https://developers.cloudflare.com/email-service/get-started/send-emails/):
129
+
130
+ ```ts
131
+ import { MailConfig } from '@Typetron/Framework'
132
+
133
+ export default new MailConfig({
134
+ default: 'Cloudflare',
135
+ from: {email: 'hello@example.com', name: 'Example'},
136
+ mailers: {
137
+ memory: {},
138
+ Cloudflare: {
139
+ accountId: process.env.CLOUDFLARE_ACCOUNT_ID!,
140
+ apiToken: process.env.CLOUDFLARE_API_TOKEN!,
141
+ },
142
+ },
143
+ })
144
+ ```
145
+
146
+ Registration throws `MailError` if either credential is missing or blank. For manual setup, use
147
+ `new CloudflareTransport({accountId, apiToken})` from `@Typetron/Mail` and pass it to `Mailer`.
148
+
149
+ A string body is sent as HTML, matching SendGrid. An `{html, text}` body sends both alternatives. Strings, named addresses, and address
150
+ arrays on `Mailable` are converted to Cloudflare's REST format for the sender, recipients, CC, BCC, and reply-to fields.
151
+
152
+ Delivery outcomes are available on the shared `SentMessage`; queued recipients may be delivered later. A successful API response
153
+ resolves even if some or all recipients permanently bounced or were suppressed.
154
+
155
+ Each send makes one request. The transport does not automatically retry failed or ambiguous requests, since an email may have already
156
+ been accepted before a network failure. Applications decide whether to retry.
157
+
158
+ ## Delivery Errors
159
+
160
+ Cloudflare and SendGrid throw `MailError` for API rejections and network failures. `provider` identifies the service, `status` contains
161
+ the upstream HTTP status when available, `context` holds provider-specific response details, and `cause` preserves an underlying error
162
+ when available. Cloudflare also throws `MailError` for malformed responses. A network failure leaves delivery uncertain.
163
+
164
+ For Cloudflare API rejections, `context` contains the response envelope, including its `errors` array. For non-JSON responses, it
165
+ contains the response text. For SendGrid API rejections, it contains `error.response.body`.
166
+
167
+ ```ts
168
+ import { MailError } from '@Typetron/Mail'
169
+
170
+ try {
171
+ await mail.to('john@example.com').send('Hello')
172
+ } catch (error) {
173
+ if (error instanceof MailError) {
174
+ console.error(error.provider, error.status, error.context)
175
+ }
176
+ throw error
177
+ }
178
+ ```
179
+
180
+ SendGrid failures now throw `MailError` instead of Router's `HttpError`. Applications choose how to translate provider failures into
181
+ their own HTTP responses.
package/Storage/Readme.md CHANGED
@@ -57,6 +57,9 @@ export default new StorageConfig({
57
57
  AWS disks use the SDK's default credential chain when `credentials` is omitted. The S3 driver is loaded only when an S3 disk is resolved;
58
58
  applications using it must install `@aws-sdk/client-s3` and `@aws-sdk/s3-request-presigner`.
59
59
 
60
+ Local disks refuse keys that pass through a symbolic link inside the root and throw `StorageSymbolicLink`, so a link
61
+ created in the disk can't redirect reads or writes outside of it.
62
+
60
63
  ## Using Disks
61
64
 
62
65
  Register `StorageProvider`, then inject or resolve `Storage`. Methods on `Storage` target the default disk; `disk` selects another
@@ -108,7 +111,8 @@ Directories are logical prefixes. Writing `users/1/avatar.jpg` creates required
108
111
 
109
112
  ## Uploads and Metadata
110
113
 
111
- HTTP multipart parsing produces `UploadedFile` instances backed by temporary local files. `putFile` streams the upload to its destination.
114
+ HTTP multipart parsing produces `UploadedFile` instances backed by temporary local files, with `size` set once the upload is
115
+ written. `putFile` streams the upload to its destination.
112
116
 
113
117
  ```ts
114
118
  const avatar = request.files.avatar as UploadedFile
@@ -149,27 +153,27 @@ A scoped disk exposes only keys below its prefix. Mutating a read-only disk thro
149
153
 
150
154
  ## Testing
151
155
 
152
- `fake` replaces a named disk with an isolated in-memory driver:
153
-
154
- ```ts
155
- const avatars = storage.fake('avatars')
156
- await service.uploadAvatar(upload)
157
- await avatars.assertExists('users/1.jpg')
158
- await avatars.assertCount('users', 1, true)
159
- ```
160
-
161
- Services can inject a disk with `@Disk(name)`, or `@Disk()` for the default disk. The disk is resolved on every
162
- access, so faking a disk also affects services that were already built:
156
+ Services can inject a disk with `@Disk(name)`, or `@Disk()` for the default disk:
163
157
 
164
158
  ```ts
165
159
  class AvatarService {
166
160
  @Disk('avatars')
167
161
  avatars: StorageDisk
162
+
163
+ async uploadAvatar(userId: number, upload: UploadedFile) {
164
+ await this.avatars.putFile(`users/${userId}.jpg`, upload)
165
+ }
168
166
  }
167
+ ```
169
168
 
169
+ `fake` replaces a named disk with an isolated in-memory driver. `@Disk` resolves the disk on every access, so the fake
170
+ also applies to services that were already built:
171
+
172
+ ```ts
170
173
  const avatars = storage.fake('avatars')
171
- await app.get(AvatarService).uploadAvatar(upload)
174
+ await app.get(AvatarService).uploadAvatar(1, upload)
172
175
  await avatars.assertExists('users/1.jpg')
176
+ await avatars.assertCount('users', 1, true)
173
177
  storage.forget('avatars') // back to the configured disk
174
178
  ```
175
179
 
@@ -1,4 +1,5 @@
1
1
  import { BaseConfig } from './BaseConfig';
2
+ import type { CloudflareTransportConfig } from '@Typetron/Mail';
2
3
  export type Mailers = keyof MailConfig['mailers'];
3
4
  export declare class MailConfig extends BaseConfig<MailConfig> {
4
5
  default: Mailers;
@@ -11,6 +12,7 @@ export declare class MailConfig extends BaseConfig<MailConfig> {
11
12
  SendGrid?: {
12
13
  key: string;
13
14
  };
15
+ Cloudflare?: CloudflareTransportConfig;
14
16
  SES?: {};
15
17
  Mailgun?: {};
16
18
  Postmark?: {};
@@ -1 +1 @@
1
- {"version":3,"file":"MailConfig.d.ts","sourceRoot":"","sources":["../../../Framework/Config/MailConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,MAAM,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,SAAS,CAAC,CAAA;AAEjD,qBAAa,UAAW,SAAQ,UAAU,CAAC,UAAU,CAAC;IAClD,OAAO,EAAE,OAAO,CAA6C;IAE7D,IAAI,EAAE;QACF,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;KACjB,CAAA;IAED,OAAO,EAAE;QACL,MAAM,EAAE,GAAG,CAAC;QAEZ,QAAQ,CAAC,EAAE;YACP,GAAG,EAAE,MAAM,CAAC;SACf,CAAC;QACF,GAAG,CAAC,EAAE,EAEL,CAAC;QACF,OAAO,CAAC,EAAE,EAET,CAAC;QACF,QAAQ,CAAC,EAAE,EAEV,CAAC;KAEL,CAAA;CACJ"}
1
+ {"version":3,"file":"MailConfig.d.ts","sourceRoot":"","sources":["../../../Framework/Config/MailConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAA;AAE/D,MAAM,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,SAAS,CAAC,CAAA;AAEjD,qBAAa,UAAW,SAAQ,UAAU,CAAC,UAAU,CAAC;IAClD,OAAO,EAAE,OAAO,CAA6C;IAE7D,IAAI,EAAE;QACF,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;KACjB,CAAA;IAED,OAAO,EAAE;QACL,MAAM,EAAE,GAAG,CAAC;QAEZ,QAAQ,CAAC,EAAE;YACP,GAAG,EAAE,MAAM,CAAC;SACf,CAAC;QACF,UAAU,CAAC,EAAE,yBAAyB,CAAC;QACvC,GAAG,CAAC,EAAE,EAEL,CAAC;QACF,OAAO,CAAC,EAAE,EAET,CAAC;QACF,QAAQ,CAAC,EAAE,EAEV,CAAC;KAEL,CAAA;CACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"MailConfig.js","sourceRoot":"","sources":["../../../Framework/Config/MailConfig.ts"],"names":[],"mappings":";;;AAAA,6CAAyC;AAIzC,MAAa,UAAW,SAAQ,uBAAsB;IAClD,OAAO,GAAY,OAAO,CAAC,GAAG,EAAE,MAAiB,IAAI,QAAQ,CAAA;IAE7D,IAAI,CAGH;IAED,OAAO,CAgBN;CACJ;AAzBD,gCAyBC"}
1
+ {"version":3,"file":"MailConfig.js","sourceRoot":"","sources":["../../../Framework/Config/MailConfig.ts"],"names":[],"mappings":";;;AAAA,6CAAyC;AAKzC,MAAa,UAAW,SAAQ,uBAAsB;IAClD,OAAO,GAAY,OAAO,CAAC,GAAG,EAAE,MAAiB,IAAI,QAAQ,CAAA;IAE7D,IAAI,CAGH;IAED,OAAO,CAiBN;CACJ;AA1BD,gCA0BC"}
@@ -1 +1 @@
1
- {"version":3,"file":"MailProvider.d.ts","sourceRoot":"","sources":["../../../Framework/Providers/MailProvider.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAE,UAAU,EAAW,MAAM,WAAW,CAAA;AAkB/C,qBAAa,YAAa,SAAQ,QAAQ;IAEtC,MAAM,EAAE,UAAU,CAAA;IAEX,QAAQ;CAIlB"}
1
+ {"version":3,"file":"MailProvider.d.ts","sourceRoot":"","sources":["../../../Framework/Providers/MailProvider.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAE,UAAU,EAAW,MAAM,WAAW,CAAA;AAyB/C,qBAAa,YAAa,SAAQ,QAAQ;IAEtC,MAAM,EAAE,UAAU,CAAA;IAEX,QAAQ;CAIlB"}
@@ -20,11 +20,18 @@ const mailers = {
20
20
  return new Mail_1.MemoryTransport();
21
21
  },
22
22
  SendGrid: (app, config) => {
23
- if (!config.mailers.SendGrid?.key) {
24
- throw new Error('SendGrid key is not set');
23
+ if (!config.mailers?.SendGrid?.key) {
24
+ throw new Mail_1.MailError('SendGrid key is not set', { provider: 'SendGrid' });
25
25
  }
26
26
  return new SendGridTransport_1.SendGridTransport(config.mailers.SendGrid?.key);
27
27
  },
28
+ Cloudflare: (app, config) => {
29
+ const options = config.mailers?.Cloudflare;
30
+ if (!options) {
31
+ throw new Mail_1.MailError('Cloudflare accountId and apiToken are required', { provider: 'Cloudflare' });
32
+ }
33
+ return new Mail_1.CloudflareTransport(options);
34
+ },
28
35
  };
29
36
  class MailProvider extends Provider_1.Provider {
30
37
  config;
@@ -1 +1 @@
1
- {"version":3,"file":"MailProvider.js","sourceRoot":"","sources":["../../../Framework/Providers/MailProvider.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;;;;;;;;;;;;AAEZ,mDAAuD;AACvD,0CAAsC;AACtC,sCAA+C;AAC/C,yCAAwD;AAExD,mFAA+E;AAE/E,MAAM,OAAO,GAAgE;IACzE,MAAM,EAAE,CAAC,GAAc,EAAE,MAAkB,EAAE,EAAE;QAC3C,OAAO,IAAI,sBAAe,EAAE,CAAA;IAChC,CAAC;IACD,QAAQ,EAAE,CAAC,GAAc,EAAE,MAAkB,EAAE,EAAE;QAC7C,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;QAC9C,CAAC;QAED,OAAO,IAAI,qCAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;IAC9D,CAAC;CACJ,CAAA;AAED,MAAa,YAAa,SAAQ,mBAAQ;IAEtC,MAAM,CAAY;IAEX,QAAQ;QACX,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QACvE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,aAAM,EAAE,IAAI,aAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAA;IACjE,CAAC;CACJ;AARD,oCAQC;AANG;IADC,IAAA,kBAAM,GAAE;8BACD,mBAAU;4CAAA"}
1
+ {"version":3,"file":"MailProvider.js","sourceRoot":"","sources":["../../../Framework/Providers/MailProvider.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;;;;;;;;;;;;AAEZ,mDAAuD;AACvD,0CAAsC;AACtC,sCAA+C;AAC/C,yCAAwF;AAExF,mFAA+E;AAE/E,MAAM,OAAO,GAAgE;IACzE,MAAM,EAAE,CAAC,GAAc,EAAE,MAAkB,EAAE,EAAE;QAC3C,OAAO,IAAI,sBAAe,EAAE,CAAA;IAChC,CAAC;IACD,QAAQ,EAAE,CAAC,GAAc,EAAE,MAAkB,EAAE,EAAE;QAC7C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;YACjC,MAAM,IAAI,gBAAS,CAAC,yBAAyB,EAAE,EAAC,QAAQ,EAAE,UAAU,EAAC,CAAC,CAAA;QAC1E,CAAC;QAED,OAAO,IAAI,qCAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;IAC9D,CAAC;IACD,UAAU,EAAE,CAAC,GAAc,EAAE,MAAkB,EAAE,EAAE;QAC/C,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,UAAU,CAAA;QAC1C,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,MAAM,IAAI,gBAAS,CAAC,gDAAgD,EAAE,EAAC,QAAQ,EAAE,YAAY,EAAC,CAAC,CAAA;QACnG,CAAC;QACD,OAAO,IAAI,0BAAmB,CAAC,OAAO,CAAC,CAAA;IAC3C,CAAC;CACJ,CAAA;AAED,MAAa,YAAa,SAAQ,mBAAQ;IAEtC,MAAM,CAAY;IAEX,QAAQ;QACX,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QACvE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,aAAM,EAAE,IAAI,aAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAA;IACjE,CAAC;CACJ;AARD,oCAQC;AANG;IADC,IAAA,kBAAM,GAAE;8BACD,mBAAU;4CAAA"}
@@ -0,0 +1,12 @@
1
+ export interface MailErrorOptions extends ErrorOptions {
2
+ provider: string;
3
+ status?: number;
4
+ context?: unknown;
5
+ }
6
+ export declare class MailError extends Error {
7
+ readonly provider: string;
8
+ readonly status?: number;
9
+ readonly context?: unknown;
10
+ constructor(message: string, options: MailErrorOptions);
11
+ }
12
+ //# sourceMappingURL=MailError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MailError.d.ts","sourceRoot":"","sources":["../../Mail/MailError.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAiB,SAAQ,YAAY;IAClD,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,OAAO,CAAA;CACpB;AAED,qBAAa,SAAU,SAAQ,KAAK;IAChC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;gBAEd,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB;CAOzD"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MailError = void 0;
4
+ class MailError extends Error {
5
+ provider;
6
+ status;
7
+ context;
8
+ constructor(message, options) {
9
+ super(message, { cause: options.cause });
10
+ this.name = 'MailError';
11
+ this.provider = options.provider;
12
+ this.status = options.status;
13
+ this.context = options.context;
14
+ }
15
+ }
16
+ exports.MailError = MailError;
17
+ //# sourceMappingURL=MailError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MailError.js","sourceRoot":"","sources":["../../Mail/MailError.ts"],"names":[],"mappings":";;;AAMA,MAAa,SAAU,SAAQ,KAAK;IACvB,QAAQ,CAAQ;IAChB,MAAM,CAAS;IACf,OAAO,CAAU;IAE1B,YAAY,OAAe,EAAE,OAAyB;QAClD,KAAK,CAAC,OAAO,EAAE,EAAC,KAAK,EAAE,OAAO,CAAC,KAAK,EAAC,CAAC,CAAA;QACtC,IAAI,CAAC,IAAI,GAAG,WAAW,CAAA;QACvB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAA;QAChC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;QAC5B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAA;IAClC,CAAC;CACJ;AAZD,8BAYC"}
@@ -11,6 +11,11 @@ export declare class SentMessage {
11
11
  readonly replyTo?: string | MailAddress | (string | MailAddress)[];
12
12
  readonly cc?: string | MailAddress | (string | MailAddress)[];
13
13
  readonly bcc?: string | MailAddress | (string | MailAddress)[];
14
+ messageId?: string;
15
+ delivered?: string[];
16
+ queued?: string[];
17
+ permanentBounces?: string[];
18
+ suppressedRecipients?: string[];
14
19
  constructor(mail: Mailable);
15
20
  }
16
21
  //# sourceMappingURL=SentMessage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SentMessage.d.ts","sourceRoot":"","sources":["../../Mail/SentMessage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAElD,qBAAa,WAAW;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAAA;IACnC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAC,CAAA;IACrD,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,CAAC,MAAM,GAAG,WAAW,CAAC,EAAE,CAAA;IAC7D,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,CAAC,MAAM,GAAG,WAAW,CAAC,EAAE,CAAA;IAClE,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,CAAC,MAAM,GAAG,WAAW,CAAC,EAAE,CAAA;IAC7D,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,CAAC,MAAM,GAAG,WAAW,CAAC,EAAE,CAAA;gBAElD,IAAI,EAAE,QAAQ;CAO7B"}
1
+ {"version":3,"file":"SentMessage.d.ts","sourceRoot":"","sources":["../../Mail/SentMessage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAElD,qBAAa,WAAW;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAAA;IACnC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAC,CAAA;IACrD,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,CAAC,MAAM,GAAG,WAAW,CAAC,EAAE,CAAA;IAC7D,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,CAAC,MAAM,GAAG,WAAW,CAAC,EAAE,CAAA;IAClE,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,CAAC,MAAM,GAAG,WAAW,CAAC,EAAE,CAAA;IAC7D,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,CAAC,MAAM,GAAG,WAAW,CAAC,EAAE,CAAA;IAE9D,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;IACpB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC3B,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAA;gBAEnB,IAAI,EAAE,QAAQ;CAO7B"}
@@ -9,6 +9,11 @@ class SentMessage {
9
9
  replyTo;
10
10
  cc;
11
11
  bcc;
12
+ messageId;
13
+ delivered;
14
+ queued;
15
+ permanentBounces;
16
+ suppressedRecipients;
12
17
  constructor(mail) {
13
18
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
14
19
  const { content, ...mailDetails } = mail;
@@ -1 +1 @@
1
- {"version":3,"file":"SentMessage.js","sourceRoot":"","sources":["../../Mail/SentMessage.ts"],"names":[],"mappings":";;;AAGA,MAAa,WAAW;IACX,IAAI,CAAsB;IAC1B,OAAO,CAAS;IAChB,IAAI,CAAwC;IAC5C,EAAE,CAAkD;IACpD,OAAO,CAAkD;IACzD,EAAE,CAAkD;IACpD,GAAG,CAAkD;IAE9D,YAAY,IAAc;QACtB,6DAA6D;QAC7D,MAAM,EAAC,OAAO,EAAE,GAAG,WAAW,EAAC,GAAG,IAAI,CAAA;QACtC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA;QAChC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,IAAI,CAAA;IAC3C,CAAC;CAEJ;AAhBD,kCAgBC"}
1
+ {"version":3,"file":"SentMessage.js","sourceRoot":"","sources":["../../Mail/SentMessage.ts"],"names":[],"mappings":";;;AAGA,MAAa,WAAW;IACX,IAAI,CAAsB;IAC1B,OAAO,CAAS;IAChB,IAAI,CAAwC;IAC5C,EAAE,CAAkD;IACpD,OAAO,CAAkD;IACzD,EAAE,CAAkD;IACpD,GAAG,CAAkD;IAE9D,SAAS,CAAS;IAClB,SAAS,CAAW;IACpB,MAAM,CAAW;IACjB,gBAAgB,CAAW;IAC3B,oBAAoB,CAAW;IAE/B,YAAY,IAAc;QACtB,6DAA6D;QAC7D,MAAM,EAAC,OAAO,EAAE,GAAG,WAAW,EAAC,GAAG,IAAI,CAAA;QACtC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA;QAChC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,IAAI,CAAA;IAC3C,CAAC;CAEJ;AAtBD,kCAsBC"}
@@ -0,0 +1,13 @@
1
+ import { Mailable } from '../Mailable';
2
+ import { MailTransport } from '../MailTransport';
3
+ import { SentMessage } from '../SentMessage';
4
+ export interface CloudflareTransportConfig {
5
+ accountId: string;
6
+ apiToken: string;
7
+ }
8
+ export declare class CloudflareTransport extends MailTransport {
9
+ private config;
10
+ constructor(config: CloudflareTransportConfig);
11
+ send(message: Mailable): Promise<SentMessage>;
12
+ }
13
+ //# sourceMappingURL=CloudflareTransport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CloudflareTransport.d.ts","sourceRoot":"","sources":["../../../Mail/Transports/CloudflareTransport.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAEtC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAE5C,MAAM,WAAW,yBAAyB;IACtC,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;CACnB;AAUD,qBAAa,mBAAoB,SAAQ,aAAa;IACtC,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,yBAAyB;IAO/C,IAAI,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC;CAoEtD"}
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CloudflareTransport = void 0;
4
+ const MailError_1 = require("../MailError");
5
+ const MailTransport_1 = require("../MailTransport");
6
+ const SentMessage_1 = require("../SentMessage");
7
+ function address(value) {
8
+ return typeof value === 'string' ? value : { address: value.email, name: value.name };
9
+ }
10
+ function addresses(value) {
11
+ return Array.isArray(value) ? value.map(address) : value === undefined ? undefined : address(value);
12
+ }
13
+ class CloudflareTransport extends MailTransport_1.MailTransport {
14
+ config;
15
+ constructor(config) {
16
+ super();
17
+ this.config = config;
18
+ if (!config.accountId?.trim() || !config.apiToken?.trim()) {
19
+ throw new MailError_1.MailError('Cloudflare accountId and apiToken are required', { provider: 'Cloudflare' });
20
+ }
21
+ }
22
+ async send(message) {
23
+ const sentMessage = new SentMessage_1.SentMessage(message);
24
+ const content = typeof sentMessage.body === 'string' ? { html: sentMessage.body } : sentMessage.body;
25
+ let response;
26
+ let body;
27
+ try {
28
+ response = await globalThis.fetch(`https://api.cloudflare.com/client/v4/accounts/${encodeURIComponent(this.config.accountId)}/email/sending/send`, {
29
+ method: 'POST',
30
+ headers: {
31
+ Authorization: `Bearer ${this.config.apiToken}`,
32
+ 'Content-Type': 'application/json',
33
+ },
34
+ body: JSON.stringify({
35
+ from: address(sentMessage.from),
36
+ to: addresses(sentMessage.to),
37
+ cc: addresses(sentMessage.cc),
38
+ bcc: addresses(sentMessage.bcc),
39
+ reply_to: addresses(sentMessage.replyTo),
40
+ subject: sentMessage.subject,
41
+ ...content,
42
+ }),
43
+ });
44
+ }
45
+ catch (cause) {
46
+ throw new MailError_1.MailError('Cloudflare mail request failed', { provider: 'Cloudflare', cause });
47
+ }
48
+ try {
49
+ body = await response.text();
50
+ }
51
+ catch (cause) {
52
+ throw new MailError_1.MailError('Could not read Cloudflare mail response', { provider: 'Cloudflare', status: response.status, cause });
53
+ }
54
+ let data;
55
+ try {
56
+ data = JSON.parse(body);
57
+ }
58
+ catch (cause) {
59
+ throw new MailError_1.MailError('Cloudflare returned an invalid mail response', {
60
+ provider: 'Cloudflare', status: response.status, context: body, cause,
61
+ });
62
+ }
63
+ if (!response.ok || data?.success !== true) {
64
+ throw new MailError_1.MailError('Cloudflare rejected the mail request', {
65
+ provider: 'Cloudflare', status: response.status, context: data,
66
+ });
67
+ }
68
+ const result = data.result;
69
+ const isAddresses = (value) => Array.isArray(value) && value.every(item => typeof item === 'string');
70
+ if (!result || !isAddresses(result.delivered) || !isAddresses(result.queued) || !isAddresses(result.permanent_bounces)
71
+ || (result.suppressed_recipients !== undefined && !isAddresses(result.suppressed_recipients))
72
+ || (result.message_id !== undefined && typeof result.message_id !== 'string')) {
73
+ throw new MailError_1.MailError('Cloudflare returned an invalid mail delivery result', {
74
+ provider: 'Cloudflare', status: response.status, context: data,
75
+ });
76
+ }
77
+ sentMessage.delivered = result.delivered;
78
+ sentMessage.queued = result.queued;
79
+ sentMessage.permanentBounces = result.permanent_bounces;
80
+ sentMessage.suppressedRecipients = result.suppressed_recipients;
81
+ sentMessage.messageId = result.message_id;
82
+ return sentMessage;
83
+ }
84
+ }
85
+ exports.CloudflareTransport = CloudflareTransport;
86
+ //# sourceMappingURL=CloudflareTransport.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CloudflareTransport.js","sourceRoot":"","sources":["../../../Mail/Transports/CloudflareTransport.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"SendGridTransport.d.ts","sourceRoot":"","sources":["../../../Mail/Transports/SendGridTransport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAEtC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAI5C,qBAAa,iBAAkB,SAAQ,aAAa;IAChD,QAAQ,EAAE,WAAW,EAAE,CAAK;IAG5B,MAAM,EAAE,UAAU,CAAA;gBAEN,GAAG,EAAE,MAAM;IAMjB,IAAI,CAAC,OAAO,EAAE,QAAQ;CA0E/B"}
1
+ {"version":3,"file":"SendGridTransport.d.ts","sourceRoot":"","sources":["../../../Mail/Transports/SendGridTransport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAEtC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAI5C,qBAAa,iBAAkB,SAAQ,aAAa;IAChD,QAAQ,EAAE,WAAW,EAAE,CAAK;IAG5B,MAAM,EAAE,UAAU,CAAA;gBAEN,GAAG,EAAE,MAAM;IAMjB,IAAI,CAAC,OAAO,EAAE,QAAQ;CAsF/B"}
@@ -18,7 +18,7 @@ const SentMessage_1 = require("../SentMessage");
18
18
  const Container_1 = require("../../Container");
19
19
  const Framework_1 = require("../../Framework");
20
20
  const mail_1 = __importDefault(require("@sendgrid/mail"));
21
- const Http_1 = require("@Typetron/Router/Http");
21
+ const MailError_1 = require("../MailError");
22
22
  class SendGridTransport extends MailTransport_1.MailTransport {
23
23
  messages = [];
24
24
  config;
@@ -94,7 +94,18 @@ class SendGridTransport extends MailTransport_1.MailTransport {
94
94
  };
95
95
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
96
96
  /* @ts-ignore */ // SendGrid has TS issues
97
- await mail_1.default.send(sendGridMessage).catch(error => { throw new Http_1.HttpError(error.response.body.errors, error.code); });
97
+ const [response] = await mail_1.default.send(sendGridMessage).catch(error => {
98
+ throw new MailError_1.MailError('SendGrid mail request failed', {
99
+ provider: 'SendGrid',
100
+ status: typeof error.code === 'number' ? error.code : undefined,
101
+ context: error.response?.body,
102
+ cause: error,
103
+ });
104
+ });
105
+ const messageId = response.headers['x-message-id'];
106
+ if (typeof messageId === 'string') {
107
+ sentMessage.messageId = messageId;
108
+ }
98
109
  return sentMessage;
99
110
  }
100
111
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SendGridTransport.js","sourceRoot":"","sources":["../../../Mail/Transports/SendGridTransport.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,oDAAgD;AAChD,gDAA4C;AAE5C,+CAAwC;AACxC,+CAA4C;AAC5C,0DAAmC;AACnC,gDAAiD;AAEjD,MAAa,iBAAkB,SAAQ,6BAAa;IAChD,QAAQ,GAAkB,EAAE,CAAA;IAG5B,MAAM,CAAY;IAElB,YAAY,GAAW;QACnB,KAAK,EAAE,CAAA;QAEP,cAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;IACzB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,OAAiB;QACxB,MAAM,WAAW,GAAG,IAAI,yBAAW,CAAC,OAAO,CAAC,CAAA;QAE5C,MAAM,eAAe,GAAG;YACpB,gBAAgB,EAAE;gBACd;oBACI,EAAE,EAAE,WAAW,CAAC,EAAE;oBAClB,EAAE,EAAE,WAAW,CAAC,EAAE;oBAClB,GAAG,EAAE,WAAW,CAAC,GAAG;iBACvB;aACJ;YACD,IAAI,EAAE,WAAW,CAAC,IAAI;YACtB,OAAO,EAAE,WAAW,CAAC,OAAO;YAC5B,OAAO,EAAE,WAAW,CAAC,OAAO;YAC5B,OAAO,EAAE;gBACL;oBACI,IAAI,EAAE,WAAW;oBACjB,KAAK,EAAE,WAAW,CAAC,IAAI;iBAC1B;aACJ;YACD,iBAAiB;YACjB,QAAQ;YACR,2HAA2H;YAC3H,kCAAkC;YAClC,6BAA6B;YAC7B,oCAAoC;YACpC,QAAQ;YACR,KAAK;YACL,gBAAgB;YAChB,cAAc;YACd,aAAa;YACb,eAAe;YACf,KAAK;YACL,sBAAsB;YACtB,6EAA6E;YAC7E,SAAS;YACT,sBAAsB;YACtB,yBAAyB;YACzB,gBAAgB;YAChB,QAAQ;YACR,KAAK;YACL,qCAAqC;YACrC,kBAAkB;YAClB,8BAA8B;YAC9B,wBAAwB;YACxB,SAAS;YACT,gBAAgB;YAChB,wBAAwB;YACxB,SAAS;YACT,qBAAqB;YACrB,wBAAwB;YACxB,QAAQ;YACR,KAAK;YACL,sBAAsB;YACtB,uBAAuB;YACvB,wBAAwB;YACxB,4BAA4B;YAC5B,SAAS;YACT,sBAAsB;YACtB,wBAAwB;YACxB,0CAA0C;YAC1C,SAAS;YACT,8BAA8B;YAC9B,wBAAwB;YACxB,QAAQ;YACR,IAAI;SACP,CAAA;QAED,6DAA6D;QAC7D,gBAAgB,CAAC,yBAAyB;QAC1C,MAAM,cAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,GAAE,MAAM,IAAI,gBAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA,CAAA,CAAC,CAAC,CAAA;QAEhH,OAAO,WAAW,CAAA;IACtB,CAAC;CACJ;AAtFD,8CAsFC;AAlFG;IADC,IAAA,kBAAM,GAAE;8BACD,sBAAU;iDAAA"}
1
+ {"version":3,"file":"SendGridTransport.js","sourceRoot":"","sources":["../../../Mail/Transports/SendGridTransport.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,oDAAgD;AAChD,gDAA4C;AAE5C,+CAAwC;AACxC,+CAA4C;AAC5C,0DAAmC;AACnC,4CAAwC;AAExC,MAAa,iBAAkB,SAAQ,6BAAa;IAChD,QAAQ,GAAkB,EAAE,CAAA;IAG5B,MAAM,CAAY;IAElB,YAAY,GAAW;QACnB,KAAK,EAAE,CAAA;QAEP,cAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;IACzB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,OAAiB;QACxB,MAAM,WAAW,GAAG,IAAI,yBAAW,CAAC,OAAO,CAAC,CAAA;QAE5C,MAAM,eAAe,GAAG;YACpB,gBAAgB,EAAE;gBACd;oBACI,EAAE,EAAE,WAAW,CAAC,EAAE;oBAClB,EAAE,EAAE,WAAW,CAAC,EAAE;oBAClB,GAAG,EAAE,WAAW,CAAC,GAAG;iBACvB;aACJ;YACD,IAAI,EAAE,WAAW,CAAC,IAAI;YACtB,OAAO,EAAE,WAAW,CAAC,OAAO;YAC5B,OAAO,EAAE,WAAW,CAAC,OAAO;YAC5B,OAAO,EAAE;gBACL;oBACI,IAAI,EAAE,WAAW;oBACjB,KAAK,EAAE,WAAW,CAAC,IAAI;iBAC1B;aACJ;YACD,iBAAiB;YACjB,QAAQ;YACR,2HAA2H;YAC3H,kCAAkC;YAClC,6BAA6B;YAC7B,oCAAoC;YACpC,QAAQ;YACR,KAAK;YACL,gBAAgB;YAChB,cAAc;YACd,aAAa;YACb,eAAe;YACf,KAAK;YACL,sBAAsB;YACtB,6EAA6E;YAC7E,SAAS;YACT,sBAAsB;YACtB,yBAAyB;YACzB,gBAAgB;YAChB,QAAQ;YACR,KAAK;YACL,qCAAqC;YACrC,kBAAkB;YAClB,8BAA8B;YAC9B,wBAAwB;YACxB,SAAS;YACT,gBAAgB;YAChB,wBAAwB;YACxB,SAAS;YACT,qBAAqB;YACrB,wBAAwB;YACxB,QAAQ;YACR,KAAK;YACL,sBAAsB;YACtB,uBAAuB;YACvB,wBAAwB;YACxB,4BAA4B;YAC5B,SAAS;YACT,sBAAsB;YACtB,wBAAwB;YACxB,0CAA0C;YAC1C,SAAS;YACT,8BAA8B;YAC9B,wBAAwB;YACxB,QAAQ;YACR,IAAI;SACP,CAAA;QAED,6DAA6D;QAC7D,gBAAgB,CAAC,yBAAyB;QAC1C,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,cAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;YAChE,MAAM,IAAI,qBAAS,CAAC,8BAA8B,EAAE;gBAChD,QAAQ,EAAE,UAAU;gBACpB,MAAM,EAAE,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;gBAC/D,OAAO,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI;gBAC7B,KAAK,EAAE,KAAK;aACf,CAAC,CAAA;QACN,CAAC,CAAC,CAAA;QAEF,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;QAClD,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;YAChC,WAAW,CAAC,SAAS,GAAG,SAAS,CAAA;QACrC,CAAC;QAED,OAAO,WAAW,CAAA;IACtB,CAAC;CACJ;AAlGD,8CAkGC;AA9FG;IADC,IAAA,kBAAM,GAAE;8BACD,sBAAU;iDAAA"}
@@ -1,4 +1,7 @@
1
1
  export * from './Transports/MemoryTransport';
2
+ export * from './Transports/CloudflareTransport';
3
+ export * from './SentMessage';
4
+ export * from './MailError';
2
5
  export * from './Mailer';
3
6
  export * from './Mailable';
4
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../Mail/index.ts"],"names":[],"mappings":"AAAA,cAAc,8BAA8B,CAAA;AAC5C,cAAc,UAAU,CAAA;AACxB,cAAc,YAAY,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../Mail/index.ts"],"names":[],"mappings":"AAAA,cAAc,8BAA8B,CAAA;AAC5C,cAAc,kCAAkC,CAAA;AAChD,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,UAAU,CAAA;AACxB,cAAc,YAAY,CAAA"}
@@ -15,6 +15,9 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./Transports/MemoryTransport"), exports);
18
+ __exportStar(require("./Transports/CloudflareTransport"), exports);
19
+ __exportStar(require("./SentMessage"), exports);
20
+ __exportStar(require("./MailError"), exports);
18
21
  __exportStar(require("./Mailer"), exports);
19
22
  __exportStar(require("./Mailable"), exports);
20
23
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../Mail/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+DAA4C;AAC5C,2CAAwB;AACxB,6CAA0B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../Mail/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+DAA4C;AAC5C,mEAAgD;AAChD,gDAA6B;AAC7B,8CAA2B;AAC3B,2CAAwB;AACxB,6CAA0B"}
@@ -1 +1 @@
1
- {"version":3,"file":"Request.d.ts","sourceRoot":"","sources":["../../../Router/Http/Request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,MAAM,CAAA;AAC3D,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,CAAA;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAExC,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EAAE,IAAI,EAAgB,MAAM,eAAe,CAAA;AAQlD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAIjE,qBAAa,OAAQ,SAAQ,WAAW;IAG7B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAK;IAEvD,UAAkB,GAAG,EAAE,WAAW,CAAC,KAAK,CAAC,GAAG;QACxC,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC;QACpB,KAAK,CAAC,EAAE,MAAM,GAAG,cAAc,CAAC;KACnC,CAAA;IAID,SAAS,CAAC,OAAO,EAAE,WAAW,CAAC,SAAS,CAAC,GAAG;QACxC,GAAG,EAAE,MAAM,CAAC;QACZ,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC;QACpB,KAAK,EAAE,cAAc,CAAC;KACzB,CAAK;IAEN,SAAS,EAAE,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,mBAAmB,GAAG,MAAM,KAAK,CAAC,GAAG,SAAS,CAAA;gBAG/F,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,KAAK,CAAC,EAAE,MAAM,GAAG,cAAc,EAC/B,OAAO,CAAC,EAAE,MAAM,GAAG,UAAU,EAC7B,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,EACtB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,GAAG,IAAI,EAAE,CAAC;IAQzC,IAAI,OAAO,IAAI,mBAAmB,CAEjC;IAED,IAAI,GAAG,IAAI,MAAM,CAKhB;IAED,IAAI,GAAG,IAAI,MAAM,CAchB;IAED,IAAI,MAAM,IAAI,IAAI,CAAC,MAAM,CAExB;IAED,IAAI,KAAK,IAAI,cAAc,CAU1B;IAED,IAAI,IAAI,IA2CO,MAAM,GAAG,MAAM,GAAG,SAAS,CAvCzC;IAED,IAAI,OAAO,IAAI,UAAU,CAIxB;WAEY,oBAAoB,CAAC,eAAe,EAAE,eAAe,GAAG,OAAO,CAAC,CAAC,MAAM,GAAG,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;IA+B9H,IAAI,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,EAEzC;IAED,IAAI,KAAK,IAIQ,MAAM,CAAC,MAAM,EAAE,IAAI,GAAG,IAAI,EAAE,CAAC,CAF7C;IAED,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,GAAG,IAAI,EAAE,CAAC,EAE7C;IAuBD,OAAO,CAAC,MAAM,CAAC,aAAa;WAIf,iBAAiB,CAAC,eAAe,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IA6BtG,gBAAgB,CAAC,MAAM,EAAE,MAAM,mBAAmB,GAAG,IAAI;IAUzD,kBAAkB;CAGrB"}
1
+ {"version":3,"file":"Request.d.ts","sourceRoot":"","sources":["../../../Router/Http/Request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,MAAM,CAAA;AAC3D,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,CAAA;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAExC,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EAAE,IAAI,EAAgB,MAAM,eAAe,CAAA;AAQlD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAIjE,qBAAa,OAAQ,SAAQ,WAAW;IAG7B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAK;IAEvD,UAAkB,GAAG,EAAE,WAAW,CAAC,KAAK,CAAC,GAAG;QACxC,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC;QACpB,KAAK,CAAC,EAAE,MAAM,GAAG,cAAc,CAAC;KACnC,CAAA;IAID,SAAS,CAAC,OAAO,EAAE,WAAW,CAAC,SAAS,CAAC,GAAG;QACxC,GAAG,EAAE,MAAM,CAAC;QACZ,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC;QACpB,KAAK,EAAE,cAAc,CAAC;KACzB,CAAK;IAEN,SAAS,EAAE,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,mBAAmB,GAAG,MAAM,KAAK,CAAC,GAAG,SAAS,CAAA;gBAG/F,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,KAAK,CAAC,EAAE,MAAM,GAAG,cAAc,EAC/B,OAAO,CAAC,EAAE,MAAM,GAAG,UAAU,EAC7B,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,EACtB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,GAAG,IAAI,EAAE,CAAC;IAQzC,IAAI,OAAO,IAAI,mBAAmB,CAEjC;IAED,IAAI,GAAG,IAAI,MAAM,CAKhB;IAED,IAAI,GAAG,IAAI,MAAM,CAchB;IAED,IAAI,MAAM,IAAI,IAAI,CAAC,MAAM,CAExB;IAED,IAAI,KAAK,IAAI,cAAc,CAU1B;IAED,IAAI,IAAI,IA6CO,MAAM,GAAG,MAAM,GAAG,SAAS,CAzCzC;IAED,IAAI,OAAO,IAAI,UAAU,CAIxB;WAEY,oBAAoB,CAAC,eAAe,EAAE,eAAe,GAAG,OAAO,CAAC,CAAC,MAAM,GAAG,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;IAiC9H,IAAI,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,EAEzC;IAED,IAAI,KAAK,IAIQ,MAAM,CAAC,MAAM,EAAE,IAAI,GAAG,IAAI,EAAE,CAAC,CAF7C;IAED,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,GAAG,IAAI,EAAE,CAAC,EAE7C;IAuBD,OAAO,CAAC,MAAM,CAAC,aAAa;WAIf,iBAAiB,CAAC,eAAe,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IA6BtG,gBAAgB,CAAC,MAAM,EAAE,MAAM,mBAAmB,GAAG,IAAI;IAUzD,kBAAkB;CAGrB"}
@@ -115,7 +115,9 @@ class Request extends Request_1.Request {
115
115
  const extension = filename.split('.').pop();
116
116
  const temporaryPath = node_path_1.default.join(os.tmpdir(), `upload_${new Date().getTime().toString()}_${String.randomAlphaNum(9)}.${extension}`);
117
117
  const fileInstance = new Storage_1.UploadedFile(temporaryPath, filename, mimeType);
118
- writes.push((0, promises_1.pipeline)(file, fs.createWriteStream(fileInstance.path)));
118
+ writes.push((0, promises_1.pipeline)(file, fs.createWriteStream(fileInstance.path)).then(async () => {
119
+ fileInstance.size = (await fs.promises.stat(fileInstance.path)).size;
120
+ }));
119
121
  file.on('end', function () {
120
122
  const field = files[fieldName];
121
123
  files[fieldName] = field instanceof Array ? [...field, fileInstance] : field ? [field, fileInstance] : fileInstance;
@@ -1 +1 @@
1
- {"version":3,"file":"Request.js","sourceRoot":"","sources":["../../../Router/Http/Request.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Request.js","sourceRoot":"","sources":["../../../Router/Http/Request.ts"],"names":[],"mappings":"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"}
@@ -147,7 +147,9 @@ function readForm(response, headers) {
147
147
  const extension = filename.split('.').pop();
148
148
  const temporaryPath = node_path_1.default.join(os_1.default.tmpdir(), `upload_${new Date().getTime().toString()}_${String.randomAlphaNum(9)}.${extension}`);
149
149
  const fileInstance = new Storage_1.UploadedFile(temporaryPath, filename, mimeType);
150
- writes.push((0, promises_1.pipeline)(file, fs_1.default.createWriteStream(fileInstance.path)));
150
+ writes.push((0, promises_1.pipeline)(file, fs_1.default.createWriteStream(fileInstance.path)).then(async () => {
151
+ fileInstance.size = (await fs_1.default.promises.stat(fileInstance.path)).size;
152
+ }));
151
153
  file.on('end', function () {
152
154
  const field = files[fieldName];
153
155
  files[fieldName] = field instanceof Array ? [...field, fileInstance] : field ? [field, fileInstance] : fileInstance;
@@ -1 +1 @@
1
- {"version":3,"file":"uNetworking.js","sourceRoot":"","sources":["../../../Router/Servers/uNetworking.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"uNetworking.js","sourceRoot":"","sources":["../../../Router/Servers/uNetworking.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,10 @@ export declare class LocalDriver extends StorageDriver {
18
18
  visibility(key: string): Promise<Visibility>;
19
19
  setVisibility(key: string, visibility: Visibility): Promise<void>;
20
20
  url(key: string): string;
21
+ /**
22
+ * Resolves a key to its local path and refuses any symbolic link along it, so a link created inside the root
23
+ * can't redirect reads or writes outside of it.
24
+ */
21
25
  private path;
22
26
  private listDirectory;
23
27
  private visibilityFromMode;
@@ -1 +1 @@
1
- {"version":3,"file":"LocalDriver.d.ts","sourceRoot":"","sources":["../../../Storage/Drivers/LocalDriver.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAEtC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAEhD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,cAAc,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAE7H,qBAAa,WAAY,SAAQ,aAAa;IAG9B,OAAO,CAAC,QAAQ,CAAC,MAAM;IAFnC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAqB;gBAEjB,MAAM,EAAE,eAAe;IAI9C,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAWtF,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAWlC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAO1C,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAQrC,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAmB3C,IAAI,CAAC,MAAM,SAAK,EAAE,OAAO,GAAE,WAAgB,GAAG,aAAa,CAAC,YAAY,CAAC;IAS1E,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQlC,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI9C,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAaxD,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAaxD,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAW5C,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAWvE,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAOxB,OAAO,CAAC,IAAI;YAIG,aAAa;IAgB5B,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,SAAS;CAGpB"}
1
+ {"version":3,"file":"LocalDriver.d.ts","sourceRoot":"","sources":["../../../Storage/Drivers/LocalDriver.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAEtC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAEhD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,cAAc,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAE7H,qBAAa,WAAY,SAAQ,aAAa;IAG9B,OAAO,CAAC,QAAQ,CAAC,MAAM;IAFnC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAqB;gBAEjB,MAAM,EAAE,eAAe;IAI9C,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAWtF,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAWlC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAO1C,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAQrC,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAmB3C,IAAI,CAAC,MAAM,SAAK,EAAE,OAAO,GAAE,WAAgB,GAAG,aAAa,CAAC,YAAY,CAAC;IAS1E,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQlC,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI9C,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAaxD,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAaxD,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAW5C,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAWvE,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAOxB;;;OAGG;YACW,IAAI;YAsBH,aAAa;IAgB5B,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,SAAS;CAGpB"}
@@ -53,7 +53,7 @@ class LocalDriver extends StorageDriver_1.StorageDriver {
53
53
  this.config = config;
54
54
  }
55
55
  async write(key, content, options = {}) {
56
- const destination = this.path(key);
56
+ const destination = await this.path(key);
57
57
  await fileSystem.mkdir(node_path_1.default.dirname(destination), { recursive: true });
58
58
  if (content instanceof node_stream_1.Readable) {
59
59
  await (0, promises_1.pipeline)(content, node_fs_1.default.createWriteStream(destination));
@@ -65,7 +65,7 @@ class LocalDriver extends StorageDriver_1.StorageDriver {
65
65
  }
66
66
  async read(key) {
67
67
  try {
68
- return await fileSystem.readFile(this.path(key));
68
+ return await fileSystem.readFile(await this.path(key));
69
69
  }
70
70
  catch (error) {
71
71
  if (error.code === 'ENOENT') {
@@ -78,11 +78,11 @@ class LocalDriver extends StorageDriver_1.StorageDriver {
78
78
  if (!(await this.exists(key))) {
79
79
  throw new errors_1.StorageFileNotFound(key);
80
80
  }
81
- return node_fs_1.default.createReadStream(this.path(key));
81
+ return node_fs_1.default.createReadStream(await this.path(key));
82
82
  }
83
83
  async exists(key) {
84
84
  try {
85
- return (await fileSystem.stat(this.path(key))).isFile();
85
+ return (await fileSystem.stat(await this.path(key))).isFile();
86
86
  }
87
87
  catch {
88
88
  return false;
@@ -90,7 +90,7 @@ class LocalDriver extends StorageDriver_1.StorageDriver {
90
90
  }
91
91
  async metadata(key) {
92
92
  try {
93
- const stats = await fileSystem.stat(this.path(key));
93
+ const stats = await fileSystem.stat(await this.path(key));
94
94
  if (!stats.isFile()) {
95
95
  throw new errors_1.StorageFileNotFound(key);
96
96
  }
@@ -109,27 +109,27 @@ class LocalDriver extends StorageDriver_1.StorageDriver {
109
109
  }
110
110
  async *list(prefix = '', options = {}) {
111
111
  const normalizedPrefix = this.prefixer.normalize(prefix, true);
112
- const directory = normalizedPrefix ? this.path(normalizedPrefix) : node_path_1.default.resolve(this.config.root);
112
+ const directory = normalizedPrefix ? await this.path(normalizedPrefix) : node_path_1.default.resolve(this.config.root);
113
113
  if (!(await fileSystem.stat(directory).catch(() => undefined))?.isDirectory()) {
114
114
  return;
115
115
  }
116
116
  yield* this.listDirectory(directory, normalizedPrefix, options.recursive ?? false);
117
117
  }
118
118
  async delete(key) {
119
- await fileSystem.unlink(this.path(key)).catch((error) => {
119
+ await fileSystem.unlink(await this.path(key)).catch((error) => {
120
120
  if (error.code !== 'ENOENT') {
121
121
  throw error;
122
122
  }
123
123
  });
124
124
  }
125
125
  async deleteDirectory(prefix) {
126
- await fileSystem.rm(this.path(prefix), { recursive: true, force: true });
126
+ await fileSystem.rm(await this.path(prefix), { recursive: true, force: true });
127
127
  }
128
128
  async copy(source, destination) {
129
- const destinationPath = this.path(destination);
129
+ const destinationPath = await this.path(destination);
130
130
  await fileSystem.mkdir(node_path_1.default.dirname(destinationPath), { recursive: true });
131
131
  try {
132
- await fileSystem.copyFile(this.path(source), destinationPath);
132
+ await fileSystem.copyFile(await this.path(source), destinationPath);
133
133
  }
134
134
  catch (error) {
135
135
  if (error.code === 'ENOENT') {
@@ -139,10 +139,10 @@ class LocalDriver extends StorageDriver_1.StorageDriver {
139
139
  }
140
140
  }
141
141
  async move(source, destination) {
142
- const destinationPath = this.path(destination);
142
+ const destinationPath = await this.path(destination);
143
143
  await fileSystem.mkdir(node_path_1.default.dirname(destinationPath), { recursive: true });
144
144
  try {
145
- await fileSystem.rename(this.path(source), destinationPath);
145
+ await fileSystem.rename(await this.path(source), destinationPath);
146
146
  }
147
147
  catch (error) {
148
148
  if (error.code === 'ENOENT') {
@@ -153,7 +153,7 @@ class LocalDriver extends StorageDriver_1.StorageDriver {
153
153
  }
154
154
  async visibility(key) {
155
155
  try {
156
- return this.visibilityFromMode((await fileSystem.stat(this.path(key))).mode);
156
+ return this.visibilityFromMode((await fileSystem.stat(await this.path(key))).mode);
157
157
  }
158
158
  catch (error) {
159
159
  if (error.code === 'ENOENT') {
@@ -164,7 +164,7 @@ class LocalDriver extends StorageDriver_1.StorageDriver {
164
164
  }
165
165
  async setVisibility(key, visibility) {
166
166
  try {
167
- await fileSystem.chmod(this.path(key), visibility === 'public' ? 0o644 : 0o600);
167
+ await fileSystem.chmod(await this.path(key), visibility === 'public' ? 0o644 : 0o600);
168
168
  }
169
169
  catch (error) {
170
170
  if (error.code === 'ENOENT') {
@@ -179,8 +179,30 @@ class LocalDriver extends StorageDriver_1.StorageDriver {
179
179
  }
180
180
  return `${this.config.url.replace(/\/$/, '')}/${this.encodeKey(key)}`;
181
181
  }
182
- path(key) {
183
- return this.prefixer.resolve(this.config.root, key);
182
+ /**
183
+ * Resolves a key to its local path and refuses any symbolic link along it, so a link created inside the root
184
+ * can't redirect reads or writes outside of it.
185
+ */
186
+ async path(key) {
187
+ const resolved = this.prefixer.resolve(this.config.root, key);
188
+ const root = node_path_1.default.resolve(this.config.root);
189
+ let current = root;
190
+ for (const segment of node_path_1.default.relative(root, resolved).split(node_path_1.default.sep).filter(Boolean)) {
191
+ current = node_path_1.default.join(current, segment);
192
+ const stats = await fileSystem.lstat(current).catch((error) => {
193
+ if (error.code === 'ENOENT') {
194
+ return undefined;
195
+ }
196
+ throw error;
197
+ });
198
+ if (!stats) {
199
+ break;
200
+ }
201
+ if (stats.isSymbolicLink()) {
202
+ throw new errors_1.StorageSymbolicLink(key);
203
+ }
204
+ }
205
+ return resolved;
184
206
  }
185
207
  async *listDirectory(directory, prefix, recursive) {
186
208
  const entries = await fileSystem.readdir(directory, { withFileTypes: true });
@@ -1 +1 @@
1
- {"version":3,"file":"LocalDriver.js","sourceRoot":"","sources":["../../../Storage/Drivers/LocalDriver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LocalDriver.js","sourceRoot":"","sources":["../../../Storage/Drivers/LocalDriver.ts"],"names":[],"mappings":"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"}
@@ -18,4 +18,7 @@ export declare class UnsupportedStorageOperation extends StorageError {
18
18
  export declare class ReadOnlyStorage extends StorageError {
19
19
  constructor();
20
20
  }
21
+ export declare class StorageSymbolicLink extends StorageError {
22
+ constructor(key: string);
23
+ }
21
24
  //# sourceMappingURL=errors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../Storage/errors.ts"],"names":[],"mappings":"AAAA,qBAAa,YAAa,SAAQ,KAAK;CAAG;AAE1C,qBAAa,mBAAoB,SAAQ,YAAY;gBACrC,IAAI,EAAE,MAAM;CAG3B;AAED,qBAAa,yBAA0B,SAAQ,YAAY;gBAC3C,IAAI,EAAE,MAAM;CAG3B;AAED,qBAAa,mBAAoB,SAAQ,YAAY;gBACrC,GAAG,EAAE,MAAM;CAG1B;AAED,qBAAa,iBAAkB,SAAQ,YAAY;gBACnC,GAAG,EAAE,MAAM;CAG1B;AAED,qBAAa,2BAA4B,SAAQ,YAAY;gBAC7C,SAAS,EAAE,MAAM;CAGhC;AAED,qBAAa,eAAgB,SAAQ,YAAY;;CAIhD"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../Storage/errors.ts"],"names":[],"mappings":"AAAA,qBAAa,YAAa,SAAQ,KAAK;CAAG;AAE1C,qBAAa,mBAAoB,SAAQ,YAAY;gBACrC,IAAI,EAAE,MAAM;CAG3B;AAED,qBAAa,yBAA0B,SAAQ,YAAY;gBAC3C,IAAI,EAAE,MAAM;CAG3B;AAED,qBAAa,mBAAoB,SAAQ,YAAY;gBACrC,GAAG,EAAE,MAAM;CAG1B;AAED,qBAAa,iBAAkB,SAAQ,YAAY;gBACnC,GAAG,EAAE,MAAM;CAG1B;AAED,qBAAa,2BAA4B,SAAQ,YAAY;gBAC7C,SAAS,EAAE,MAAM;CAGhC;AAED,qBAAa,eAAgB,SAAQ,YAAY;;CAIhD;AAED,qBAAa,mBAAoB,SAAQ,YAAY;gBACrC,GAAG,EAAE,MAAM;CAG1B"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ReadOnlyStorage = exports.UnsupportedStorageOperation = exports.InvalidStorageKey = exports.StorageFileNotFound = exports.StorageDriverNotSupported = exports.StorageDiskNotFound = exports.StorageError = void 0;
3
+ exports.StorageSymbolicLink = exports.ReadOnlyStorage = exports.UnsupportedStorageOperation = exports.InvalidStorageKey = exports.StorageFileNotFound = exports.StorageDriverNotSupported = exports.StorageDiskNotFound = exports.StorageError = void 0;
4
4
  class StorageError extends Error {
5
5
  }
6
6
  exports.StorageError = StorageError;
@@ -40,4 +40,10 @@ class ReadOnlyStorage extends StorageError {
40
40
  }
41
41
  }
42
42
  exports.ReadOnlyStorage = ReadOnlyStorage;
43
+ class StorageSymbolicLink extends StorageError {
44
+ constructor(key) {
45
+ super(`Storage key '${key}' resolves through a symbolic link.`);
46
+ }
47
+ }
48
+ exports.StorageSymbolicLink = StorageSymbolicLink;
43
49
  //# sourceMappingURL=errors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../Storage/errors.ts"],"names":[],"mappings":";;;AAAA,MAAa,YAAa,SAAQ,KAAK;CAAG;AAA1C,oCAA0C;AAE1C,MAAa,mBAAoB,SAAQ,YAAY;IACjD,YAAY,IAAY;QACpB,KAAK,CAAC,iBAAiB,IAAI,sBAAsB,CAAC,CAAA;IACtD,CAAC;CACJ;AAJD,kDAIC;AAED,MAAa,yBAA0B,SAAQ,YAAY;IACvD,YAAY,IAAY;QACpB,KAAK,CAAC,mBAAmB,IAAI,qBAAqB,CAAC,CAAA;IACvD,CAAC;CACJ;AAJD,8DAIC;AAED,MAAa,mBAAoB,SAAQ,YAAY;IACjD,YAAY,GAAW;QACnB,KAAK,CAAC,iBAAiB,GAAG,kBAAkB,CAAC,CAAA;IACjD,CAAC;CACJ;AAJD,kDAIC;AAED,MAAa,iBAAkB,SAAQ,YAAY;IAC/C,YAAY,GAAW;QACnB,KAAK,CAAC,gBAAgB,GAAG,eAAe,CAAC,CAAA;IAC7C,CAAC;CACJ;AAJD,8CAIC;AAED,MAAa,2BAA4B,SAAQ,YAAY;IACzD,YAAY,SAAiB;QACzB,KAAK,CAAC,wCAAwC,SAAS,IAAI,CAAC,CAAA;IAChE,CAAC;CACJ;AAJD,kEAIC;AAED,MAAa,eAAgB,SAAQ,YAAY;IAC7C;QACI,KAAK,CAAC,gCAAgC,CAAC,CAAA;IAC3C,CAAC;CACJ;AAJD,0CAIC"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../Storage/errors.ts"],"names":[],"mappings":";;;AAAA,MAAa,YAAa,SAAQ,KAAK;CAAG;AAA1C,oCAA0C;AAE1C,MAAa,mBAAoB,SAAQ,YAAY;IACjD,YAAY,IAAY;QACpB,KAAK,CAAC,iBAAiB,IAAI,sBAAsB,CAAC,CAAA;IACtD,CAAC;CACJ;AAJD,kDAIC;AAED,MAAa,yBAA0B,SAAQ,YAAY;IACvD,YAAY,IAAY;QACpB,KAAK,CAAC,mBAAmB,IAAI,qBAAqB,CAAC,CAAA;IACvD,CAAC;CACJ;AAJD,8DAIC;AAED,MAAa,mBAAoB,SAAQ,YAAY;IACjD,YAAY,GAAW;QACnB,KAAK,CAAC,iBAAiB,GAAG,kBAAkB,CAAC,CAAA;IACjD,CAAC;CACJ;AAJD,kDAIC;AAED,MAAa,iBAAkB,SAAQ,YAAY;IAC/C,YAAY,GAAW;QACnB,KAAK,CAAC,gBAAgB,GAAG,eAAe,CAAC,CAAA;IAC7C,CAAC;CACJ;AAJD,8CAIC;AAED,MAAa,2BAA4B,SAAQ,YAAY;IACzD,YAAY,SAAiB;QACzB,KAAK,CAAC,wCAAwC,SAAS,IAAI,CAAC,CAAA;IAChE,CAAC;CACJ;AAJD,kEAIC;AAED,MAAa,eAAgB,SAAQ,YAAY;IAC7C;QACI,KAAK,CAAC,gCAAgC,CAAC,CAAA;IAC3C,CAAC;CACJ;AAJD,0CAIC;AAED,MAAa,mBAAoB,SAAQ,YAAY;IACjD,YAAY,GAAW;QACnB,KAAK,CAAC,gBAAgB,GAAG,qCAAqC,CAAC,CAAA;IACnE,CAAC;CACJ;AAJD,kDAIC"}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@typetron/framework",
3
3
  "description": "Modern Node.js framework for modern apps written in Typescript",
4
4
  "license": "MIT",
5
- "version": "0.5.34",
5
+ "version": "0.5.36",
6
6
  "keywords": [
7
7
  "typetron",
8
8
  "framework",