aboutsummaryrefslogtreecommitdiffhomepage
path: root/server/types/sequelize.ts
diff options
context:
space:
mode:
Diffstat (limited to 'server/types/sequelize.ts')
-rw-r--r--server/types/sequelize.ts18
1 files changed, 18 insertions, 0 deletions
diff --git a/server/types/sequelize.ts b/server/types/sequelize.ts
new file mode 100644
index 000000000..9cd83612d
--- /dev/null
+++ b/server/types/sequelize.ts
@@ -0,0 +1,18 @@
1import { Model } from 'sequelize-typescript'
2
3// Thanks to sequelize-typescript: https://github.com/RobinBuschmann/sequelize-typescript
4
5export type Diff<T extends string | symbol | number, U extends string | symbol | number> =
6 ({ [P in T]: P } & { [P in U]: never } & { [ x: string ]: never })[T]
7
8export type Omit<T, K extends keyof T> = { [P in Diff<keyof T, K>]: T[P] }
9
10export type RecursivePartial<T> = { [P in keyof T]?: RecursivePartial<T[P]> }
11
12export type FilteredModelAttributes<T extends Model<T>> = RecursivePartial<Omit<T, keyof Model<any>>> & {
13 id?: number | any
14 createdAt?: Date | any
15 updatedAt?: Date | any
16 deletedAt?: Date | any
17 version?: number | any
18}