Files
channels-seerr/server/utils/DbColumnHelper.ts
2024-08-18 20:32:54 -04:00

22 lines
642 B
TypeScript

import { isPgsql } from '@server/datasource';
import type { ColumnOptions, ColumnType } from 'typeorm';
import { Column } from 'typeorm';
// TODO cleanup this file
const pgTypeMapping: { [key: string]: ColumnType } = {
datetime: 'timestamp without time zone',
};
export function resolveDbType(pgType: ColumnType): ColumnType {
if (isPgsql && pgType.toString() in pgTypeMapping) {
return pgTypeMapping[pgType.toString()];
}
return pgType;
}
export function DbAwareColumn(columnOptions: ColumnOptions) {
if (columnOptions.type) {
columnOptions.type = resolveDbType(columnOptions.type);
}
return Column(columnOptions);
}