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:
76
dealplustech-astro/node_modules/@libsql/hrana-client/lib-cjs/shared/json_encode.js
generated
vendored
Normal file
76
dealplustech-astro/node_modules/@libsql/hrana-client/lib-cjs/shared/json_encode.js
generated
vendored
Normal file
@@ -0,0 +1,76 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.Batch = exports.Stmt = void 0;
|
||||
const js_base64_1 = require("js-base64");
|
||||
const util_js_1 = require("../util.js");
|
||||
function Stmt(w, msg) {
|
||||
if (msg.sql !== undefined) {
|
||||
w.string("sql", msg.sql);
|
||||
}
|
||||
if (msg.sqlId !== undefined) {
|
||||
w.number("sql_id", msg.sqlId);
|
||||
}
|
||||
w.arrayObjects("args", msg.args, Value);
|
||||
w.arrayObjects("named_args", msg.namedArgs, NamedArg);
|
||||
w.boolean("want_rows", msg.wantRows);
|
||||
}
|
||||
exports.Stmt = Stmt;
|
||||
function NamedArg(w, msg) {
|
||||
w.string("name", msg.name);
|
||||
w.object("value", msg.value, Value);
|
||||
}
|
||||
function Batch(w, msg) {
|
||||
w.arrayObjects("steps", msg.steps, BatchStep);
|
||||
}
|
||||
exports.Batch = Batch;
|
||||
function BatchStep(w, msg) {
|
||||
if (msg.condition !== undefined) {
|
||||
w.object("condition", msg.condition, BatchCond);
|
||||
}
|
||||
w.object("stmt", msg.stmt, Stmt);
|
||||
}
|
||||
function BatchCond(w, msg) {
|
||||
w.stringRaw("type", msg.type);
|
||||
if (msg.type === "ok" || msg.type === "error") {
|
||||
w.number("step", msg.step);
|
||||
}
|
||||
else if (msg.type === "not") {
|
||||
w.object("cond", msg.cond, BatchCond);
|
||||
}
|
||||
else if (msg.type === "and" || msg.type === "or") {
|
||||
w.arrayObjects("conds", msg.conds, BatchCond);
|
||||
}
|
||||
else if (msg.type === "is_autocommit") {
|
||||
// do nothing
|
||||
}
|
||||
else {
|
||||
throw (0, util_js_1.impossible)(msg, "Impossible type of BatchCond");
|
||||
}
|
||||
}
|
||||
function Value(w, msg) {
|
||||
if (msg === null) {
|
||||
w.stringRaw("type", "null");
|
||||
}
|
||||
else if (typeof msg === "bigint") {
|
||||
w.stringRaw("type", "integer");
|
||||
w.stringRaw("value", "" + msg);
|
||||
}
|
||||
else if (typeof msg === "number") {
|
||||
w.stringRaw("type", "float");
|
||||
w.number("value", msg);
|
||||
}
|
||||
else if (typeof msg === "string") {
|
||||
w.stringRaw("type", "text");
|
||||
w.string("value", msg);
|
||||
}
|
||||
else if (msg instanceof Uint8Array) {
|
||||
w.stringRaw("type", "blob");
|
||||
w.stringRaw("base64", js_base64_1.Base64.fromUint8Array(msg));
|
||||
}
|
||||
else if (msg === undefined) {
|
||||
// do nothing
|
||||
}
|
||||
else {
|
||||
throw (0, util_js_1.impossible)(msg, "Impossible type of Value");
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user