Skip to content

Commit 1c8157c

Browse files
committed
🗃️ Define usageYear model
1 parent 518fa1c commit 1c8157c

File tree

2 files changed

+17
-0
lines changed

2 files changed

+17
-0
lines changed

src/db/index.ts

+2
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ import projectVersionAttachment from './models/projectVersionAttachment';
2929
import projectVersionPlan from './models/projectVersionPlan';
3030
import reportingWindow from './models/reportingWindow';
3131
import reportingWindowAssignment from './models/reportingWindowAssignment';
32+
import usageYear from './models/usageYear';
3233
import workflowStatusOption from './models/workflowStatusOption';
3334

3435
export default (conn: Knex) => ({
@@ -62,5 +63,6 @@ export default (conn: Knex) => ({
6263
projectVersionPlan: projectVersionPlan(conn),
6364
reportingWindow: reportingWindow(conn),
6465
reportingWindowAssignment: reportingWindowAssignment(conn),
66+
usageYear: usageYear(conn),
6567
workflowStatusOption: workflowStatusOption(conn),
6668
});

src/db/models/usageYear.ts

+15
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import * as t from 'io-ts';
22

33
import { brandedType } from '../../util/io-ts';
44
import type { Brand } from '../../util/types';
5+
import { defineIDModel } from '../util/id-model';
56

67
export type UsageYearId = Brand<
78
number,
@@ -10,3 +11,17 @@ export type UsageYearId = Brand<
1011
>;
1112

1213
export const USAGE_YEAR_ID = brandedType<number, UsageYearId>(t.number);
14+
15+
export default defineIDModel({
16+
tableName: 'usageYear',
17+
fields: {
18+
generated: {
19+
id: { kind: 'branded-integer', brand: USAGE_YEAR_ID },
20+
},
21+
required: {
22+
year: { kind: 'checked', type: t.string },
23+
},
24+
},
25+
idField: 'id',
26+
softDeletionEnabled: false,
27+
});

0 commit comments

Comments
 (0)