make changes to public URLs

This commit is contained in:
Benjamin 2025-06-25 13:54:58 -04:00
parent 46c9be91a3
commit 67d3d2fb78
No known key found for this signature in database
GPG Key ID: E9469FAA8B44BB16
4 changed files with 9 additions and 6 deletions

View File

@ -26,6 +26,7 @@ S3_KEY=
S3_SECRET= S3_SECRET=
S3_BUCKET= S3_BUCKET=
S3_ENDPOINT= S3_ENDPOINT=
S3_PUBLIC_ACCESS=
AWS_CLOUDFRONT_ID= AWS_CLOUDFRONT_ID=

View File

@ -15,6 +15,7 @@ export interface S3Config extends S3ClientConfig {
secretAccessKey: string; secretAccessKey: string;
}; };
endpoint?: string; endpoint?: string;
publicAccess?: string;
} }
export const s3Config: S3Config = { export const s3Config: S3Config = {
@ -25,6 +26,7 @@ export const s3Config: S3Config = {
secretAccessKey: process.env.S3_SECRET!, secretAccessKey: process.env.S3_SECRET!,
}, },
endpoint: process.env.S3_ENDPOINT || undefined, endpoint: process.env.S3_ENDPOINT || undefined,
publicAccess: process.env.S3_PUBLIC_ACCESS,
}; };
export const s3BucketParams = { export const s3BucketParams = {

View File

@ -5,12 +5,12 @@ import Pageres from 'pageres';
import type { Screenshot } from 'pageres'; import type { Screenshot } from 'pageres';
import { ulid } from 'ulid'; import { ulid } from 'ulid';
import { s3Config, s3BucketParams } from './aws.ts'; import { s3BucketParams } from './aws.ts';
import dbConnection from './db.ts'; import dbConnection from './db.ts';
import type { Database } from './db.ts'; import type { Database } from './db.ts';
import isHighLoadTime from './overload.js'; import isHighLoadTime from './overload.js';
import { s3 } from '~/server/aws.ts'; import { s3, s3Config } from '~/server/aws.ts';
import jwt from '~/server/jwt.ts'; import jwt from '~/server/jwt.ts';
import { getLocaleUrls } from '~/src/domain.ts'; import { getLocaleUrls } from '~/src/domain.ts';
@ -112,7 +112,7 @@ const shoot = async (db: Database, mode: 'light' | 'dark'): Promise<void> => {
await db.get(` await db.get(`
UPDATE profiles UPDATE profiles
SET ${mode === 'dark' ? 'cardDark' : 'card'}='https://${s3BucketParams.Bucket}.s3.${s3Config.region}.amazonaws.com/${key}' SET ${mode === 'dark' ? 'cardDark' : 'card'}='${s3Config.publicAccess}/${key}'
WHERE id='${id}'`); WHERE id='${id}'`);
} }
}; };

View File

@ -2,7 +2,7 @@ import './setup.ts';
import type { ListObjectsV2Output, ObjectIdentifier, _Object } from '@aws-sdk/client-s3'; import type { ListObjectsV2Output, ObjectIdentifier, _Object } from '@aws-sdk/client-s3';
import { s3, s3BucketParams } from './aws.ts'; import { s3, s3BucketParams, s3Config } from './aws.ts';
import dbConnection from './db.ts'; import dbConnection from './db.ts';
const FRESH_CUTOFF = 6 * 60 * 60 * 1000; // 6 hours const FRESH_CUTOFF = 6 * 60 * 60 * 1000; // 6 hours
@ -85,14 +85,14 @@ async function cleanup(): Promise<void> {
FROM profiles FROM profiles
WHERE card is not null AND card != '' WHERE card is not null AND card != ''
`)) { `)) {
cards[row.card.match('https://pronouns-page.s3.eu-west-1.amazonaws.com/card/[^/]+/.+-([^-]+)\.png')[1]] = true; cards[row.card.match(`${s3Config.publicAccess}/card/[^/]+/.+-([^-]+)\.png`)[1]] = true;
} }
for (const row of await db.all(` for (const row of await db.all(`
SELECT cardDark SELECT cardDark
FROM profiles FROM profiles
WHERE cardDark is not null AND cardDark != '' WHERE cardDark is not null AND cardDark != ''
`)) { `)) {
const m = row.cardDark.match('https://pronouns-page.s3.eu-west-1.amazonaws.com/card/[^/]+/.+-([^-]+)-dark\.png'); const m = row.cardDark.match(`${s3Config.publicAccess}/card/[^/]+/.+-([^-]+)-dark\.png`);
if (!m) { if (!m) {
console.error(row.cardDark); console.error(row.cardDark);
continue; continue;