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:
138
dealplustech-astro/node_modules/@libsql/hrana-client/lib-cjs/shared/json_decode.js
generated
vendored
Normal file
138
dealplustech-astro/node_modules/@libsql/hrana-client/lib-cjs/shared/json_decode.js
generated
vendored
Normal file
@@ -0,0 +1,138 @@
|
||||
"use strict";
|
||||
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
||||
if (k2 === undefined) k2 = k;
|
||||
var desc = Object.getOwnPropertyDescriptor(m, k);
|
||||
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
||||
desc = { enumerable: true, get: function() { return m[k]; } };
|
||||
}
|
||||
Object.defineProperty(o, k2, desc);
|
||||
}) : (function(o, m, k, k2) {
|
||||
if (k2 === undefined) k2 = k;
|
||||
o[k2] = m[k];
|
||||
}));
|
||||
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
||||
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
||||
}) : function(o, v) {
|
||||
o["default"] = v;
|
||||
});
|
||||
var __importStar = (this && this.__importStar) || function (mod) {
|
||||
if (mod && mod.__esModule) return mod;
|
||||
var result = {};
|
||||
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
||||
__setModuleDefault(result, mod);
|
||||
return result;
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.Value = exports.DescribeResult = exports.CursorEntry = exports.BatchResult = exports.StmtResult = exports.Error = void 0;
|
||||
const js_base64_1 = require("js-base64");
|
||||
const errors_js_1 = require("../errors.js");
|
||||
const d = __importStar(require("../encoding/json/decode.js"));
|
||||
function Error(obj) {
|
||||
const message = d.string(obj["message"]);
|
||||
const code = d.stringOpt(obj["code"]);
|
||||
return { message, code };
|
||||
}
|
||||
exports.Error = Error;
|
||||
function StmtResult(obj) {
|
||||
const cols = d.arrayObjectsMap(obj["cols"], Col);
|
||||
const rows = d.array(obj["rows"]).map((rowObj) => d.arrayObjectsMap(rowObj, Value));
|
||||
const affectedRowCount = d.number(obj["affected_row_count"]);
|
||||
const lastInsertRowidStr = d.stringOpt(obj["last_insert_rowid"]);
|
||||
const lastInsertRowid = lastInsertRowidStr !== undefined
|
||||
? BigInt(lastInsertRowidStr) : undefined;
|
||||
return { cols, rows, affectedRowCount, lastInsertRowid };
|
||||
}
|
||||
exports.StmtResult = StmtResult;
|
||||
function Col(obj) {
|
||||
const name = d.stringOpt(obj["name"]);
|
||||
const decltype = d.stringOpt(obj["decltype"]);
|
||||
return { name, decltype };
|
||||
}
|
||||
function BatchResult(obj) {
|
||||
const stepResults = new Map();
|
||||
d.array(obj["step_results"]).forEach((value, i) => {
|
||||
if (value !== null) {
|
||||
stepResults.set(i, StmtResult(d.object(value)));
|
||||
}
|
||||
});
|
||||
const stepErrors = new Map();
|
||||
d.array(obj["step_errors"]).forEach((value, i) => {
|
||||
if (value !== null) {
|
||||
stepErrors.set(i, Error(d.object(value)));
|
||||
}
|
||||
});
|
||||
return { stepResults, stepErrors };
|
||||
}
|
||||
exports.BatchResult = BatchResult;
|
||||
function CursorEntry(obj) {
|
||||
const type = d.string(obj["type"]);
|
||||
if (type === "step_begin") {
|
||||
const step = d.number(obj["step"]);
|
||||
const cols = d.arrayObjectsMap(obj["cols"], Col);
|
||||
return { type: "step_begin", step, cols };
|
||||
}
|
||||
else if (type === "step_end") {
|
||||
const affectedRowCount = d.number(obj["affected_row_count"]);
|
||||
const lastInsertRowidStr = d.stringOpt(obj["last_insert_rowid"]);
|
||||
const lastInsertRowid = lastInsertRowidStr !== undefined
|
||||
? BigInt(lastInsertRowidStr) : undefined;
|
||||
return { type: "step_end", affectedRowCount, lastInsertRowid };
|
||||
}
|
||||
else if (type === "step_error") {
|
||||
const step = d.number(obj["step"]);
|
||||
const error = Error(d.object(obj["error"]));
|
||||
return { type: "step_error", step, error };
|
||||
}
|
||||
else if (type === "row") {
|
||||
const row = d.arrayObjectsMap(obj["row"], Value);
|
||||
return { type: "row", row };
|
||||
}
|
||||
else if (type === "error") {
|
||||
const error = Error(d.object(obj["error"]));
|
||||
return { type: "error", error };
|
||||
}
|
||||
else {
|
||||
throw new errors_js_1.ProtoError("Unexpected type of CursorEntry");
|
||||
}
|
||||
}
|
||||
exports.CursorEntry = CursorEntry;
|
||||
function DescribeResult(obj) {
|
||||
const params = d.arrayObjectsMap(obj["params"], DescribeParam);
|
||||
const cols = d.arrayObjectsMap(obj["cols"], DescribeCol);
|
||||
const isExplain = d.boolean(obj["is_explain"]);
|
||||
const isReadonly = d.boolean(obj["is_readonly"]);
|
||||
return { params, cols, isExplain, isReadonly };
|
||||
}
|
||||
exports.DescribeResult = DescribeResult;
|
||||
function DescribeParam(obj) {
|
||||
const name = d.stringOpt(obj["name"]);
|
||||
return { name };
|
||||
}
|
||||
function DescribeCol(obj) {
|
||||
const name = d.string(obj["name"]);
|
||||
const decltype = d.stringOpt(obj["decltype"]);
|
||||
return { name, decltype };
|
||||
}
|
||||
function Value(obj) {
|
||||
const type = d.string(obj["type"]);
|
||||
if (type === "null") {
|
||||
return null;
|
||||
}
|
||||
else if (type === "integer") {
|
||||
const value = d.string(obj["value"]);
|
||||
return BigInt(value);
|
||||
}
|
||||
else if (type === "float") {
|
||||
return d.number(obj["value"]);
|
||||
}
|
||||
else if (type === "text") {
|
||||
return d.string(obj["value"]);
|
||||
}
|
||||
else if (type === "blob") {
|
||||
return js_base64_1.Base64.toUint8Array(d.string(obj["base64"]));
|
||||
}
|
||||
else {
|
||||
throw new errors_js_1.ProtoError("Unexpected type of Value");
|
||||
}
|
||||
}
|
||||
exports.Value = Value;
|
||||
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");
|
||||
}
|
||||
}
|
||||
3
dealplustech-astro/node_modules/@libsql/hrana-client/lib-cjs/shared/proto.js
generated
vendored
Normal file
3
dealplustech-astro/node_modules/@libsql/hrana-client/lib-cjs/shared/proto.js
generated
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
"use strict";
|
||||
// Types for the protocol structures that are shared for WebSocket and HTTP
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
118
dealplustech-astro/node_modules/@libsql/hrana-client/lib-cjs/shared/protobuf_decode.js
generated
vendored
Normal file
118
dealplustech-astro/node_modules/@libsql/hrana-client/lib-cjs/shared/protobuf_decode.js
generated
vendored
Normal file
@@ -0,0 +1,118 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.DescribeResult = exports.CursorEntry = exports.BatchResult = exports.StmtResult = exports.Error = void 0;
|
||||
exports.Error = {
|
||||
default() { return { message: "", code: undefined }; },
|
||||
1(r, msg) { msg.message = r.string(); },
|
||||
2(r, msg) { msg.code = r.string(); },
|
||||
};
|
||||
exports.StmtResult = {
|
||||
default() {
|
||||
return {
|
||||
cols: [],
|
||||
rows: [],
|
||||
affectedRowCount: 0,
|
||||
lastInsertRowid: undefined,
|
||||
};
|
||||
},
|
||||
1(r, msg) { msg.cols.push(r.message(Col)); },
|
||||
2(r, msg) { msg.rows.push(r.message(Row)); },
|
||||
3(r, msg) { msg.affectedRowCount = Number(r.uint64()); },
|
||||
4(r, msg) { msg.lastInsertRowid = r.sint64(); },
|
||||
};
|
||||
const Col = {
|
||||
default() { return { name: undefined, decltype: undefined }; },
|
||||
1(r, msg) { msg.name = r.string(); },
|
||||
2(r, msg) { msg.decltype = r.string(); },
|
||||
};
|
||||
const Row = {
|
||||
default() { return []; },
|
||||
1(r, msg) { msg.push(r.message(Value)); },
|
||||
};
|
||||
exports.BatchResult = {
|
||||
default() { return { stepResults: new Map(), stepErrors: new Map() }; },
|
||||
1(r, msg) {
|
||||
const [key, value] = r.message(BatchResultStepResult);
|
||||
msg.stepResults.set(key, value);
|
||||
},
|
||||
2(r, msg) {
|
||||
const [key, value] = r.message(BatchResultStepError);
|
||||
msg.stepErrors.set(key, value);
|
||||
},
|
||||
};
|
||||
const BatchResultStepResult = {
|
||||
default() { return [0, exports.StmtResult.default()]; },
|
||||
1(r, msg) { msg[0] = r.uint32(); },
|
||||
2(r, msg) { msg[1] = r.message(exports.StmtResult); },
|
||||
};
|
||||
const BatchResultStepError = {
|
||||
default() { return [0, exports.Error.default()]; },
|
||||
1(r, msg) { msg[0] = r.uint32(); },
|
||||
2(r, msg) { msg[1] = r.message(exports.Error); },
|
||||
};
|
||||
exports.CursorEntry = {
|
||||
default() { return { type: "none" }; },
|
||||
1(r) { return r.message(StepBeginEntry); },
|
||||
2(r) { return r.message(StepEndEntry); },
|
||||
3(r) { return r.message(StepErrorEntry); },
|
||||
4(r) { return { type: "row", row: r.message(Row) }; },
|
||||
5(r) { return { type: "error", error: r.message(exports.Error) }; },
|
||||
};
|
||||
const StepBeginEntry = {
|
||||
default() { return { type: "step_begin", step: 0, cols: [] }; },
|
||||
1(r, msg) { msg.step = r.uint32(); },
|
||||
2(r, msg) { msg.cols.push(r.message(Col)); },
|
||||
};
|
||||
const StepEndEntry = {
|
||||
default() {
|
||||
return {
|
||||
type: "step_end",
|
||||
affectedRowCount: 0,
|
||||
lastInsertRowid: undefined,
|
||||
};
|
||||
},
|
||||
1(r, msg) { msg.affectedRowCount = r.uint32(); },
|
||||
2(r, msg) { msg.lastInsertRowid = r.uint64(); },
|
||||
};
|
||||
const StepErrorEntry = {
|
||||
default() {
|
||||
return {
|
||||
type: "step_error",
|
||||
step: 0,
|
||||
error: exports.Error.default(),
|
||||
};
|
||||
},
|
||||
1(r, msg) { msg.step = r.uint32(); },
|
||||
2(r, msg) { msg.error = r.message(exports.Error); },
|
||||
};
|
||||
exports.DescribeResult = {
|
||||
default() {
|
||||
return {
|
||||
params: [],
|
||||
cols: [],
|
||||
isExplain: false,
|
||||
isReadonly: false,
|
||||
};
|
||||
},
|
||||
1(r, msg) { msg.params.push(r.message(DescribeParam)); },
|
||||
2(r, msg) { msg.cols.push(r.message(DescribeCol)); },
|
||||
3(r, msg) { msg.isExplain = r.bool(); },
|
||||
4(r, msg) { msg.isReadonly = r.bool(); },
|
||||
};
|
||||
const DescribeParam = {
|
||||
default() { return { name: undefined }; },
|
||||
1(r, msg) { msg.name = r.string(); },
|
||||
};
|
||||
const DescribeCol = {
|
||||
default() { return { name: "", decltype: undefined }; },
|
||||
1(r, msg) { msg.name = r.string(); },
|
||||
2(r, msg) { msg.decltype = r.string(); },
|
||||
};
|
||||
const Value = {
|
||||
default() { return undefined; },
|
||||
1(r) { return null; },
|
||||
2(r) { return r.sint64(); },
|
||||
3(r) { return r.double(); },
|
||||
4(r) { return r.string(); },
|
||||
5(r) { return r.bytes(); },
|
||||
};
|
||||
90
dealplustech-astro/node_modules/@libsql/hrana-client/lib-cjs/shared/protobuf_encode.js
generated
vendored
Normal file
90
dealplustech-astro/node_modules/@libsql/hrana-client/lib-cjs/shared/protobuf_encode.js
generated
vendored
Normal file
@@ -0,0 +1,90 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.Batch = exports.Stmt = void 0;
|
||||
const util_js_1 = require("../util.js");
|
||||
function Stmt(w, msg) {
|
||||
if (msg.sql !== undefined) {
|
||||
w.string(1, msg.sql);
|
||||
}
|
||||
if (msg.sqlId !== undefined) {
|
||||
w.int32(2, msg.sqlId);
|
||||
}
|
||||
for (const arg of msg.args) {
|
||||
w.message(3, arg, Value);
|
||||
}
|
||||
for (const arg of msg.namedArgs) {
|
||||
w.message(4, arg, NamedArg);
|
||||
}
|
||||
w.bool(5, msg.wantRows);
|
||||
}
|
||||
exports.Stmt = Stmt;
|
||||
function NamedArg(w, msg) {
|
||||
w.string(1, msg.name);
|
||||
w.message(2, msg.value, Value);
|
||||
}
|
||||
function Batch(w, msg) {
|
||||
for (const step of msg.steps) {
|
||||
w.message(1, step, BatchStep);
|
||||
}
|
||||
}
|
||||
exports.Batch = Batch;
|
||||
function BatchStep(w, msg) {
|
||||
if (msg.condition !== undefined) {
|
||||
w.message(1, msg.condition, BatchCond);
|
||||
}
|
||||
w.message(2, msg.stmt, Stmt);
|
||||
}
|
||||
function BatchCond(w, msg) {
|
||||
if (msg.type === "ok") {
|
||||
w.uint32(1, msg.step);
|
||||
}
|
||||
else if (msg.type === "error") {
|
||||
w.uint32(2, msg.step);
|
||||
}
|
||||
else if (msg.type === "not") {
|
||||
w.message(3, msg.cond, BatchCond);
|
||||
}
|
||||
else if (msg.type === "and") {
|
||||
w.message(4, msg.conds, BatchCondList);
|
||||
}
|
||||
else if (msg.type === "or") {
|
||||
w.message(5, msg.conds, BatchCondList);
|
||||
}
|
||||
else if (msg.type === "is_autocommit") {
|
||||
w.message(6, undefined, Empty);
|
||||
}
|
||||
else {
|
||||
throw (0, util_js_1.impossible)(msg, "Impossible type of BatchCond");
|
||||
}
|
||||
}
|
||||
function BatchCondList(w, msg) {
|
||||
for (const cond of msg) {
|
||||
w.message(1, cond, BatchCond);
|
||||
}
|
||||
}
|
||||
function Value(w, msg) {
|
||||
if (msg === null) {
|
||||
w.message(1, undefined, Empty);
|
||||
}
|
||||
else if (typeof msg === "bigint") {
|
||||
w.sint64(2, msg);
|
||||
}
|
||||
else if (typeof msg === "number") {
|
||||
w.double(3, msg);
|
||||
}
|
||||
else if (typeof msg === "string") {
|
||||
w.string(4, msg);
|
||||
}
|
||||
else if (msg instanceof Uint8Array) {
|
||||
w.bytes(5, msg);
|
||||
}
|
||||
else if (msg === undefined) {
|
||||
// do nothing
|
||||
}
|
||||
else {
|
||||
throw (0, util_js_1.impossible)(msg, "Impossible type of Value");
|
||||
}
|
||||
}
|
||||
function Empty(_w, _msg) {
|
||||
// do nothing
|
||||
}
|
||||
Reference in New Issue
Block a user