wip: cloud

This commit is contained in:
Frank
2025-08-29 19:34:56 -04:00
parent b40c02e258
commit c3a25eff78
18 changed files with 83 additions and 51 deletions

View File

@@ -1,5 +1,5 @@
import { defineConfig } from "drizzle-kit"
import { Resource } from "sst"
import { Resource } from "./src/util/resource"
export default defineConfig({
out: "./migrations/",

View File

@@ -1,4 +1,3 @@
import { Resource } from "sst"
import { Stripe } from "stripe"
import { Database, eq, sql } from "./drizzle"
import { BillingTable, PaymentTable, UsageTable } from "./schema/billing.sql"
@@ -8,6 +7,7 @@ import { z } from "zod"
import { Identifier } from "./identifier"
import { centsToMicroCents } from "./util/price"
import { User } from "./user"
import { Resource } from "./util/resource"
export namespace Billing {
export const stripe = () =>

View File

@@ -1,5 +1,5 @@
import { drizzle } from "drizzle-orm/postgres-js"
import { Resource } from "sst"
import { Resource } from "../util/resource"
export * from "drizzle-orm"
import postgres from "postgres"

View File

@@ -0,0 +1,14 @@
import { env } from "cloudflare:workers";
export const Resource = new Proxy(
{},
{
get(_target, prop: string) {
if (prop in env) {
const value = env[prop];
return typeof value === "string" ? JSON.parse(value) : value;
}
throw new Error(`"${prop}" is not linked in your sst.config.ts`);
},
}
) as Record<string, any>;