- Migrated all pages from Next.js to Astro - Added PDPA-compliant Privacy Policy (Thai) - Added PDPA-compliant Terms & Conditions (Thai) - Added Cookie Policy with disclosure (Thai) - Implemented cookie consent banner (client-side) - Integrated Umami Analytics placeholder - Blog system with 3 posts - Optimized Docker configuration for production - Static site build (184KB, 11 pages) - Ready for Easypanel deployment Backup: /Users/kunthawatgreethong/Gitea/dealplustech-backup-nextjs-20260309.tar.gz
17 lines
935 B
TypeScript
17 lines
935 B
TypeScript
import type { ColumnType } from 'kysely';
|
|
import type { InferInsertModel, InferSelectModel, MapColumnName, Table } from "../table.js";
|
|
import type { Simplify } from "../utils.js";
|
|
export type Kyselify<T extends Table> = Simplify<{
|
|
[Key in keyof T['_']['columns'] & string as MapColumnName<Key, T['_']['columns'][Key], true>]: ColumnType<InferSelectModel<T, {
|
|
dbColumnNames: true;
|
|
}>[MapColumnName<Key, T['_']['columns'][Key], true>], MapColumnName<Key, T['_']['columns'][Key], true> extends keyof InferInsertModel<T, {
|
|
dbColumnNames: true;
|
|
}> ? InferInsertModel<T, {
|
|
dbColumnNames: true;
|
|
}>[MapColumnName<Key, T['_']['columns'][Key], true>] : never, MapColumnName<Key, T['_']['columns'][Key], true> extends keyof InferInsertModel<T, {
|
|
dbColumnNames: true;
|
|
}> ? InferInsertModel<T, {
|
|
dbColumnNames: true;
|
|
}>[MapColumnName<Key, T['_']['columns'][Key], true>] : never>;
|
|
}>;
|