@novacraft-engineering/mailbox 0.4.3 → 0.4.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env.example +16 -10
- package/README.md +52 -47
- package/app/api/mail/accessors/reset-link/route.ts +46 -0
- package/app/api/mail/accessors/route.ts +16 -0
- package/app/api/mail/emails/[id]/route.ts +11 -3
- package/app/api/mail/emails/route.ts +14 -4
- package/app/api/mail/recovery/route.ts +95 -0
- package/app/api/mail/recovery/verify/route.ts +29 -0
- package/app/api/mail/request-reset/route.ts +36 -8
- package/app/api/mail/send/route.ts +4 -4
- package/app/api/share/[id]/download/route.ts +71 -0
- package/app/api/share/[id]/route.ts +11 -6
- package/app/mail/ConfirmDialog.tsx +53 -8
- package/app/mail/page.module.css +59 -0
- package/app/mail/page.tsx +265 -52
- package/app/share/[id]/page.tsx +61 -11
- package/app/share/[id]/share.module.css +19 -0
- package/lib/dev-auth.test.ts +15 -0
- package/lib/dev-auth.ts +5 -1
- package/lib/mail-provider.test.ts +23 -0
- package/lib/mail-provider.ts +17 -1
- package/lib/mailbox.ts +66 -11
- package/lib/r2.ts +6 -6
- package/lib/receive.test.ts +13 -0
- package/lib/receive.ts +8 -5
- package/lib/share-ticket.ts +42 -0
- package/lib/turso.ts +3 -3
- package/package.json +1 -1
- package/public/brand/README.md +0 -4
- package/scripts/backfill-content-ids.mjs +1 -1
- package/scripts/backfill-list-columns.mjs +2 -2
- package/scripts/offload-bodies.mjs +2 -2
- package/scripts/seed-dev.mjs +3 -3
- package/tools/README.md +0 -4
- package/tools/db-backup.py +2 -2
- package/tools/import-mbox.py +4 -4
package/tools/import-mbox.py
CHANGED
|
@@ -260,8 +260,8 @@ class S3Store:
|
|
|
260
260
|
self.endpoint = (env('S3_ENDPOINT') or env('R2_S3_ENDPOINT') or '').rstrip('/')
|
|
261
261
|
self.bucket = env('S3_BUCKET') or env('R2_BUCKET') or ''
|
|
262
262
|
self.region = env('S3_REGION') or env('R2_REGION') or 'auto'
|
|
263
|
-
self.access_key = env('AWS_ACCESS_KEY_ID') or env('R2_ACCESS_KEY_ID') or ''
|
|
264
|
-
self.secret_key = env('AWS_SECRET_ACCESS_KEY') or env('R2_SECRET_ACCESS_KEY') or ''
|
|
263
|
+
self.access_key = env('S3_ACCESS_KEY_ID') or env('AWS_ACCESS_KEY_ID') or env('R2_ACCESS_KEY_ID') or ''
|
|
264
|
+
self.secret_key = env('S3_SECRET_ACCESS_KEY') or env('AWS_SECRET_ACCESS_KEY') or env('R2_SECRET_ACCESS_KEY') or ''
|
|
265
265
|
|
|
266
266
|
def configured(self):
|
|
267
267
|
return all([self.endpoint, self.bucket, self.access_key, self.secret_key])
|
|
@@ -471,10 +471,10 @@ def main():
|
|
|
471
471
|
if args.max_mbps:
|
|
472
472
|
UPLOAD_BUDGET.__init__(args.max_mbps)
|
|
473
473
|
print(f'upload cap: {args.max_mbps} Mbit/s', flush=True)
|
|
474
|
-
url, db_token = os.environ.get('TURSO_DATABASE_URL'), os.environ.get('TURSO_AUTH_TOKEN')
|
|
474
|
+
url, db_token = (os.environ.get('DATABASE_URL') or os.environ.get('TURSO_DATABASE_URL')), (os.environ.get('DATABASE_AUTH_TOKEN') or os.environ.get('TURSO_AUTH_TOKEN'))
|
|
475
475
|
blob_token = None if args.skip_attachments else (os.environ.get('BLOB_READ_WRITE_TOKEN') if STORE == 'blob' else 's3')
|
|
476
476
|
if not args.dry_run and not (url and (db_token or url.startswith('file:'))):
|
|
477
|
-
sys.exit('
|
|
477
|
+
sys.exit('DATABASE_URL and DATABASE_AUTH_TOKEN must be set')
|
|
478
478
|
kinds = {kind.strip() for kind in args.kinds.split(',') if kind.strip()}
|
|
479
479
|
if not args.dry_run and not args.skip_attachments and not blob_token:
|
|
480
480
|
print('BLOB_READ_WRITE_TOKEN unset: attachments will be metadata only', flush=True)
|