@lcas58/esmi-api-types 1.0.4 → 1.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,261 @@
1
+ declare const tags: import("drizzle-orm/pg-core").PgTableWithColumns<{
2
+ name: "tags";
3
+ schema: undefined;
4
+ columns: {
5
+ id: import("drizzle-orm/pg-core").PgColumn<{
6
+ name: "id";
7
+ tableName: "tags";
8
+ dataType: "string";
9
+ columnType: "PgText";
10
+ data: string;
11
+ driverParam: string;
12
+ notNull: true;
13
+ hasDefault: true;
14
+ isPrimaryKey: true;
15
+ isAutoincrement: false;
16
+ hasRuntimeDefault: true;
17
+ enumValues: [string, ...string[]];
18
+ baseColumn: never;
19
+ generated: undefined;
20
+ }, {}, {}>;
21
+ name: import("drizzle-orm/pg-core").PgColumn<{
22
+ name: "name";
23
+ tableName: "tags";
24
+ dataType: "string";
25
+ columnType: "PgVarchar";
26
+ data: string;
27
+ driverParam: string;
28
+ notNull: true;
29
+ hasDefault: false;
30
+ isPrimaryKey: false;
31
+ isAutoincrement: false;
32
+ hasRuntimeDefault: false;
33
+ enumValues: [string, ...string[]];
34
+ baseColumn: never;
35
+ generated: undefined;
36
+ }, {}, {}>;
37
+ type: import("drizzle-orm/pg-core").PgColumn<{
38
+ name: "type";
39
+ tableName: "tags";
40
+ dataType: "string";
41
+ columnType: "PgVarchar";
42
+ data: string;
43
+ driverParam: string;
44
+ notNull: true;
45
+ hasDefault: false;
46
+ isPrimaryKey: false;
47
+ isAutoincrement: false;
48
+ hasRuntimeDefault: false;
49
+ enumValues: [string, ...string[]];
50
+ baseColumn: never;
51
+ generated: undefined;
52
+ }, {}, {}>;
53
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
54
+ name: "created_at";
55
+ tableName: "tags";
56
+ dataType: "date";
57
+ columnType: "PgTimestamp";
58
+ data: Date;
59
+ driverParam: string;
60
+ notNull: true;
61
+ hasDefault: true;
62
+ isPrimaryKey: false;
63
+ isAutoincrement: false;
64
+ hasRuntimeDefault: false;
65
+ enumValues: undefined;
66
+ baseColumn: never;
67
+ generated: undefined;
68
+ }, {}, {}>;
69
+ updatedAt: import("drizzle-orm/pg-core").PgColumn<{
70
+ name: "updated_at";
71
+ tableName: "tags";
72
+ dataType: "date";
73
+ columnType: "PgTimestamp";
74
+ data: Date;
75
+ driverParam: string;
76
+ notNull: true;
77
+ hasDefault: true;
78
+ isPrimaryKey: false;
79
+ isAutoincrement: false;
80
+ hasRuntimeDefault: false;
81
+ enumValues: undefined;
82
+ baseColumn: never;
83
+ generated: undefined;
84
+ }, {}, {}>;
85
+ };
86
+ dialect: "pg";
87
+ }>;
88
+ export declare const eventTags: import("drizzle-orm/pg-core").PgTableWithColumns<{
89
+ name: "event_tags";
90
+ schema: undefined;
91
+ columns: {
92
+ eventId: import("drizzle-orm/pg-core").PgColumn<{
93
+ name: "event_id";
94
+ tableName: "event_tags";
95
+ dataType: "string";
96
+ columnType: "PgText";
97
+ data: string;
98
+ driverParam: string;
99
+ notNull: true;
100
+ hasDefault: false;
101
+ isPrimaryKey: false;
102
+ isAutoincrement: false;
103
+ hasRuntimeDefault: false;
104
+ enumValues: [string, ...string[]];
105
+ baseColumn: never;
106
+ generated: undefined;
107
+ }, {}, {}>;
108
+ tagId: import("drizzle-orm/pg-core").PgColumn<{
109
+ name: "tag_id";
110
+ tableName: "event_tags";
111
+ dataType: "string";
112
+ columnType: "PgText";
113
+ data: string;
114
+ driverParam: string;
115
+ notNull: true;
116
+ hasDefault: false;
117
+ isPrimaryKey: false;
118
+ isAutoincrement: false;
119
+ hasRuntimeDefault: false;
120
+ enumValues: [string, ...string[]];
121
+ baseColumn: never;
122
+ generated: undefined;
123
+ }, {}, {}>;
124
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
125
+ name: "created_at";
126
+ tableName: "event_tags";
127
+ dataType: "date";
128
+ columnType: "PgTimestamp";
129
+ data: Date;
130
+ driverParam: string;
131
+ notNull: true;
132
+ hasDefault: true;
133
+ isPrimaryKey: false;
134
+ isAutoincrement: false;
135
+ hasRuntimeDefault: false;
136
+ enumValues: undefined;
137
+ baseColumn: never;
138
+ generated: undefined;
139
+ }, {}, {}>;
140
+ updatedAt: import("drizzle-orm/pg-core").PgColumn<{
141
+ name: "updated_at";
142
+ tableName: "event_tags";
143
+ dataType: "date";
144
+ columnType: "PgTimestamp";
145
+ data: Date;
146
+ driverParam: string;
147
+ notNull: true;
148
+ hasDefault: true;
149
+ isPrimaryKey: false;
150
+ isAutoincrement: false;
151
+ hasRuntimeDefault: false;
152
+ enumValues: undefined;
153
+ baseColumn: never;
154
+ generated: undefined;
155
+ }, {}, {}>;
156
+ };
157
+ dialect: "pg";
158
+ }>;
159
+ export declare const eventTagsRelations: import("drizzle-orm").Relations<"event_tags", {
160
+ event: import("drizzle-orm").One<"event", true>;
161
+ tag: import("drizzle-orm").One<"tags", true>;
162
+ }>;
163
+ export declare const organizationTags: import("drizzle-orm/pg-core").PgTableWithColumns<{
164
+ name: "organization_tags";
165
+ schema: undefined;
166
+ columns: {
167
+ organizationId: import("drizzle-orm/pg-core").PgColumn<{
168
+ name: "organization_id";
169
+ tableName: "organization_tags";
170
+ dataType: "string";
171
+ columnType: "PgText";
172
+ data: string;
173
+ driverParam: string;
174
+ notNull: true;
175
+ hasDefault: false;
176
+ isPrimaryKey: false;
177
+ isAutoincrement: false;
178
+ hasRuntimeDefault: false;
179
+ enumValues: [string, ...string[]];
180
+ baseColumn: never;
181
+ generated: undefined;
182
+ }, {}, {}>;
183
+ tagId: import("drizzle-orm/pg-core").PgColumn<{
184
+ name: "tag_id";
185
+ tableName: "organization_tags";
186
+ dataType: "string";
187
+ columnType: "PgText";
188
+ data: string;
189
+ driverParam: string;
190
+ notNull: true;
191
+ hasDefault: false;
192
+ isPrimaryKey: false;
193
+ isAutoincrement: false;
194
+ hasRuntimeDefault: false;
195
+ enumValues: [string, ...string[]];
196
+ baseColumn: never;
197
+ generated: undefined;
198
+ }, {}, {}>;
199
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
200
+ name: "created_at";
201
+ tableName: "organization_tags";
202
+ dataType: "date";
203
+ columnType: "PgTimestamp";
204
+ data: Date;
205
+ driverParam: string;
206
+ notNull: true;
207
+ hasDefault: true;
208
+ isPrimaryKey: false;
209
+ isAutoincrement: false;
210
+ hasRuntimeDefault: false;
211
+ enumValues: undefined;
212
+ baseColumn: never;
213
+ generated: undefined;
214
+ }, {}, {}>;
215
+ updatedAt: import("drizzle-orm/pg-core").PgColumn<{
216
+ name: "updated_at";
217
+ tableName: "organization_tags";
218
+ dataType: "date";
219
+ columnType: "PgTimestamp";
220
+ data: Date;
221
+ driverParam: string;
222
+ notNull: true;
223
+ hasDefault: true;
224
+ isPrimaryKey: false;
225
+ isAutoincrement: false;
226
+ hasRuntimeDefault: false;
227
+ enumValues: undefined;
228
+ baseColumn: never;
229
+ generated: undefined;
230
+ }, {}, {}>;
231
+ };
232
+ dialect: "pg";
233
+ }>;
234
+ export declare const organizationTagsRelations: import("drizzle-orm").Relations<"organization_tags", {
235
+ organization: import("drizzle-orm").One<"organization", true>;
236
+ tag: import("drizzle-orm").One<"tags", true>;
237
+ }>;
238
+ export declare const selectTagsSchema: import("zod").ZodObject<{
239
+ id: import("zod").ZodString;
240
+ name: import("zod").ZodString;
241
+ type: import("zod").ZodString;
242
+ createdAt: import("zod").ZodDate;
243
+ updatedAt: import("zod").ZodDate;
244
+ }, import("zod").UnknownKeysParam, import("zod").ZodTypeAny, {
245
+ id: string;
246
+ type: string;
247
+ name: string;
248
+ createdAt: Date;
249
+ updatedAt: Date;
250
+ }, {
251
+ id: string;
252
+ type: string;
253
+ name: string;
254
+ createdAt: Date;
255
+ updatedAt: Date;
256
+ }>;
257
+ export declare const tagsRelations: import("drizzle-orm").Relations<"tags", {
258
+ events: import("drizzle-orm").Many<"event_tags">;
259
+ organizations: import("drizzle-orm").Many<"organization_tags">;
260
+ }>;
261
+ export default tags;
@@ -0,0 +1,55 @@
1
+ import { relations } from "drizzle-orm";
2
+ import { pgTable, primaryKey, text, timestamp, varchar } from "drizzle-orm/pg-core";
3
+ import { createSelectSchema } from "drizzle-zod";
4
+ import { randomUUID } from "node:crypto";
5
+ import event from "./event.js";
6
+ import organization from "./organization.js";
7
+ const tags = pgTable("tags", {
8
+ id: text("id").primaryKey().$defaultFn(() => randomUUID()),
9
+ name: varchar("name", { length: 50 }).notNull().unique(),
10
+ type: varchar("type", { length: 50 }).notNull(),
11
+ createdAt: timestamp("created_at").defaultNow().notNull(),
12
+ updatedAt: timestamp("updated_at").defaultNow().notNull(),
13
+ });
14
+ export const eventTags = pgTable("event_tags", {
15
+ eventId: text("event_id").references(() => event.id, { onDelete: "cascade" }).notNull(),
16
+ tagId: text("tag_id").references(() => tags.id).notNull(),
17
+ createdAt: timestamp("created_at").defaultNow().notNull(),
18
+ updatedAt: timestamp("updated_at").defaultNow().notNull(),
19
+ }, table => ({
20
+ pk: primaryKey({ columns: [table.eventId, table.tagId] }),
21
+ }));
22
+ export const eventTagsRelations = relations(eventTags, ({ one }) => ({
23
+ event: one(event, {
24
+ fields: [eventTags.eventId],
25
+ references: [event.id],
26
+ }),
27
+ tag: one(tags, {
28
+ fields: [eventTags.tagId],
29
+ references: [tags.id],
30
+ }),
31
+ }));
32
+ export const organizationTags = pgTable("organization_tags", {
33
+ organizationId: text("organization_id").references(() => organization.id, { onDelete: "cascade" }).notNull(),
34
+ tagId: text("tag_id").references(() => tags.id).notNull(),
35
+ createdAt: timestamp("created_at").defaultNow().notNull(),
36
+ updatedAt: timestamp("updated_at").defaultNow().notNull(),
37
+ }, table => ({
38
+ pk: primaryKey({ columns: [table.organizationId, table.tagId] }),
39
+ }));
40
+ export const organizationTagsRelations = relations(organizationTags, ({ one }) => ({
41
+ organization: one(organization, {
42
+ fields: [organizationTags.organizationId],
43
+ references: [organization.id],
44
+ }),
45
+ tag: one(tags, {
46
+ fields: [organizationTags.tagId],
47
+ references: [tags.id],
48
+ }),
49
+ }));
50
+ export const selectTagsSchema = createSelectSchema(tags);
51
+ export const tagsRelations = relations(tags, ({ many }) => ({
52
+ events: many(eventTags),
53
+ organizations: many(organizationTags),
54
+ }));
55
+ export default tags;