feat: Add complete PDPA compliance pages

- Admin dashboard (/admin/consent-logs) with password auth
- Consent API (/api/consent) with SQLite + IP hashing
- Privacy Policy (Thai) - PDPA Section 36 compliant
- Terms & Conditions (Thai) - 9 standard clauses
- .env.example template with Umami placeholder

All pages preserve current design system.
This commit is contained in:
Kunthawat
2026-03-10 21:28:23 +07:00
parent e98b9f2bff
commit b2e427791b
3282 changed files with 302503 additions and 435 deletions

View File

@@ -0,0 +1,33 @@
import { Prisma } from "@prisma/client";
import { entityKind } from "../../entity.js";
import { DefaultLogger } from "../../logger.js";
import { PgDatabase, PgDialect } from "../../pg-core/index.js";
import { PrismaPgSession } from "./session.js";
class PrismaPgDatabase extends PgDatabase {
static [entityKind] = "PrismaPgDatabase";
constructor(client, logger) {
const dialect = new PgDialect();
super(dialect, new PrismaPgSession(dialect, client, { logger }), void 0);
}
}
function drizzle(config = {}) {
let logger;
if (config.logger === true) {
logger = new DefaultLogger();
} else if (config.logger !== false) {
logger = config.logger;
}
return Prisma.defineExtension((client) => {
return client.$extends({
name: "drizzle",
client: {
$drizzle: new PrismaPgDatabase(client, logger)
}
});
});
}
export {
PrismaPgDatabase,
drizzle
};
//# sourceMappingURL=driver.js.map