joist-codegen 0.1.536 → 1.0.0
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.
- package/build/EntityDbMetadata.d.ts +71 -23
- package/build/EntityDbMetadata.js +229 -63
- package/build/EntityDbMetadata.js.map +1 -1
- package/build/EntityDbMetadata.test.js +5 -5
- package/build/EntityDbMetadata.test.js.map +1 -1
- package/build/assignTags.d.ts +1 -1
- package/build/assignTags.js +2 -2
- package/build/assignTags.js.map +1 -1
- package/build/config.d.ts +8 -1
- package/build/config.js +25 -13
- package/build/config.js.map +1 -1
- package/build/config.test.d.ts +1 -0
- package/build/config.test.js +37 -0
- package/build/config.test.js.map +1 -0
- package/build/generateEntitiesFile.d.ts +2 -1
- package/build/generateEntitiesFile.js +6 -3
- package/build/generateEntitiesFile.js.map +1 -1
- package/build/generateEntityCodegenFile.d.ts +2 -4
- package/build/generateEntityCodegenFile.js +278 -90
- package/build/generateEntityCodegenFile.js.map +1 -1
- package/build/generateEnumFile.d.ts +2 -3
- package/build/generateEnumFile.js +15 -10
- package/build/generateEnumFile.js.map +1 -1
- package/build/generateFactoriesFiles.js +4 -4
- package/build/generateFactoriesFiles.js.map +1 -1
- package/build/generateInitialEntityFile.js +7 -2
- package/build/generateInitialEntityFile.js.map +1 -1
- package/build/generateMetadataFile.js +96 -69
- package/build/generateMetadataFile.js.map +1 -1
- package/build/generatePgEnumFile.d.ts +4 -0
- package/build/generatePgEnumFile.js +18 -0
- package/build/generatePgEnumFile.js.map +1 -0
- package/build/index.d.ts +24 -8
- package/build/index.js +116 -40
- package/build/index.js.map +1 -1
- package/build/symbols.d.ts +62 -51
- package/build/symbols.js +64 -52
- package/build/symbols.js.map +1 -1
- package/build/utils.d.ts +4 -2
- package/build/utils.js +21 -11
- package/build/utils.js.map +1 -1
- package/package.json +26 -14
- package/jest.config.js +0 -10
- package/package.json.bak +0 -28
- package/src/EntityDbMetadata.test.ts +0 -42
- package/src/EntityDbMetadata.ts +0 -322
- package/src/assignTags.ts +0 -45
- package/src/config.ts +0 -82
- package/src/generateEntitiesFile.ts +0 -26
- package/src/generateEntityCodegenFile.ts +0 -414
- package/src/generateEnumFile.ts +0 -63
- package/src/generateFactoriesFiles.ts +0 -29
- package/src/generateInitialEntityFile.ts +0 -12
- package/src/generateMetadataFile.ts +0 -175
- package/src/index.ts +0 -180
- package/src/symbols.ts +0 -53
- package/src/utils.ts +0 -87
- package/tsconfig.json +0 -21
- package/tsconfig.tsbuildinfo +0 -3377
|
@@ -1,86 +1,133 @@
|
|
|
1
1
|
import { M2ORelation, O2MRelation, Table } from "pg-structure";
|
|
2
|
-
import {
|
|
2
|
+
import { Import } from "ts-poet";
|
|
3
3
|
import { Config } from "./config";
|
|
4
|
+
import { EnumMetadata, EnumRow } from "./index";
|
|
4
5
|
/** Codegen-time metadata about a given domain entity. */
|
|
5
6
|
export declare type Entity = {
|
|
6
7
|
name: string;
|
|
7
8
|
/** The symbol pointing to the entity itself. */
|
|
8
|
-
type:
|
|
9
|
+
type: Import;
|
|
9
10
|
/** The name of the entity's runtime metadata const. */
|
|
10
11
|
metaName: string;
|
|
11
12
|
/** The symbol pointing to the entity's runtime metadata const. */
|
|
12
|
-
metaType:
|
|
13
|
+
metaType: Import;
|
|
13
14
|
/** The symbol pointing to the entity's EntityId type. */
|
|
14
|
-
idType:
|
|
15
|
+
idType: Import;
|
|
15
16
|
/** The symbol pointing to the entity's Order type. */
|
|
16
|
-
orderType:
|
|
17
|
+
orderType: Import;
|
|
17
18
|
/** The symbol pointing to the entity's config const. */
|
|
18
|
-
configConst:
|
|
19
|
-
optsType:
|
|
19
|
+
configConst: Import;
|
|
20
|
+
optsType: Import;
|
|
20
21
|
};
|
|
21
|
-
export declare type
|
|
22
|
+
export declare type DatabaseColumnType = "boolean" | "int" | "uuid" | "numeric" | "text" | "citext" | "character varying" | "varchar" | "timestamp with time zone" | "date" | "jsonb";
|
|
23
|
+
/**
|
|
24
|
+
* A logical entity field.
|
|
25
|
+
*
|
|
26
|
+
* I.e. it may be a physical db column, or multiple physical db columns, or a "virtual" field like
|
|
27
|
+
* the one-to-many collection side of a many-to-one foreign key. */
|
|
28
|
+
interface Field {
|
|
22
29
|
fieldName: string;
|
|
30
|
+
ignore?: boolean;
|
|
31
|
+
}
|
|
32
|
+
export declare type PrimitiveTypescriptType = "boolean" | "string" | "number" | "Date" | "Object";
|
|
33
|
+
export declare type PrimitiveField = Field & {
|
|
34
|
+
kind: "primitive";
|
|
23
35
|
columnName: string;
|
|
24
|
-
columnType:
|
|
36
|
+
columnType: DatabaseColumnType;
|
|
25
37
|
columnDefault: number | boolean | string | null;
|
|
26
|
-
fieldType:
|
|
38
|
+
fieldType: PrimitiveTypescriptType | Import;
|
|
39
|
+
rawFieldType: PrimitiveTypescriptType;
|
|
27
40
|
notNull: boolean;
|
|
28
41
|
derived: "orm" | "sync" | "async" | false;
|
|
29
42
|
protected: boolean;
|
|
43
|
+
superstruct: Import | undefined;
|
|
30
44
|
};
|
|
31
|
-
export declare type EnumField = {
|
|
32
|
-
|
|
45
|
+
export declare type EnumField = Field & {
|
|
46
|
+
kind: "enum";
|
|
33
47
|
columnName: string;
|
|
48
|
+
columnDefault: number | boolean | string | null;
|
|
34
49
|
enumName: string;
|
|
35
|
-
enumType:
|
|
36
|
-
enumDetailType:
|
|
50
|
+
enumType: Import;
|
|
51
|
+
enumDetailType: Import;
|
|
52
|
+
enumDetailsType: Import;
|
|
53
|
+
enumRows: EnumRow[];
|
|
54
|
+
notNull: boolean;
|
|
55
|
+
isArray: boolean;
|
|
56
|
+
};
|
|
57
|
+
export declare type PgEnumField = Field & {
|
|
58
|
+
kind: "pg-enum";
|
|
59
|
+
columnName: string;
|
|
60
|
+
columnDefault: number | boolean | string | null;
|
|
61
|
+
enumName: string;
|
|
62
|
+
enumType: Import;
|
|
63
|
+
enumValues: string[];
|
|
37
64
|
notNull: boolean;
|
|
38
65
|
};
|
|
39
66
|
/** I.e. a `Book.author` reference pointing to an `Author`. */
|
|
40
|
-
export declare type ManyToOneField = {
|
|
41
|
-
|
|
67
|
+
export declare type ManyToOneField = Field & {
|
|
68
|
+
kind: "m2o";
|
|
42
69
|
columnName: string;
|
|
70
|
+
dbType: string;
|
|
43
71
|
otherFieldName: string;
|
|
44
72
|
otherEntity: Entity;
|
|
45
73
|
notNull: boolean;
|
|
46
74
|
};
|
|
47
75
|
/** I.e. a `Author.books` collection. */
|
|
48
|
-
export declare type OneToManyField = {
|
|
49
|
-
|
|
76
|
+
export declare type OneToManyField = Field & {
|
|
77
|
+
kind: "o2m";
|
|
50
78
|
singularName: string;
|
|
51
79
|
otherEntity: Entity;
|
|
52
80
|
otherFieldName: string;
|
|
53
81
|
otherColumnName: string;
|
|
54
82
|
otherColumnNotNull: boolean;
|
|
83
|
+
isLargeCollection: boolean;
|
|
55
84
|
};
|
|
56
85
|
/** I.e. a `Author.image` reference when `image.author_id` is unique. */
|
|
57
|
-
export declare type OneToOneField = {
|
|
58
|
-
|
|
86
|
+
export declare type OneToOneField = Field & {
|
|
87
|
+
kind: "o2o";
|
|
59
88
|
otherEntity: Entity;
|
|
60
89
|
otherFieldName: string;
|
|
61
90
|
otherColumnName: string;
|
|
62
91
|
otherColumnNotNull: boolean;
|
|
63
92
|
};
|
|
64
|
-
export declare type ManyToManyField = {
|
|
93
|
+
export declare type ManyToManyField = Field & {
|
|
94
|
+
kind: "m2m";
|
|
65
95
|
joinTableName: string;
|
|
66
|
-
fieldName: string;
|
|
67
96
|
singularName: string;
|
|
68
97
|
columnName: string;
|
|
69
98
|
otherEntity: Entity;
|
|
70
99
|
otherFieldName: string;
|
|
71
100
|
otherColumnName: string;
|
|
101
|
+
isLargeCollection: boolean;
|
|
102
|
+
};
|
|
103
|
+
/** I.e. a `Comment.parent` reference that groups `comments.parent_book_id` and `comments.parent_book_review_id`. */
|
|
104
|
+
export declare type PolymorphicField = Field & {
|
|
105
|
+
fieldType: string;
|
|
106
|
+
notNull: boolean;
|
|
107
|
+
components: PolymorphicFieldComponent[];
|
|
108
|
+
};
|
|
109
|
+
export declare type PolymorphicFieldComponent = {
|
|
110
|
+
columnName: string;
|
|
111
|
+
otherFieldName: string;
|
|
112
|
+
otherEntity: Entity;
|
|
72
113
|
};
|
|
73
114
|
/** Adapts the generally-great pg-structure metadata into our specific ORM types. */
|
|
74
115
|
export declare class EntityDbMetadata {
|
|
75
116
|
entity: Entity;
|
|
117
|
+
idDbType: string;
|
|
76
118
|
primitives: PrimitiveField[];
|
|
77
119
|
enums: EnumField[];
|
|
120
|
+
pgEnums: PgEnumField[];
|
|
78
121
|
manyToOnes: ManyToOneField[];
|
|
79
122
|
oneToManys: OneToManyField[];
|
|
123
|
+
largeOneToManys: OneToManyField[];
|
|
80
124
|
oneToOnes: OneToOneField[];
|
|
81
125
|
manyToManys: ManyToManyField[];
|
|
126
|
+
largeManyToManys: ManyToManyField[];
|
|
127
|
+
polymorphics: PolymorphicField[];
|
|
82
128
|
tableName: string;
|
|
83
|
-
|
|
129
|
+
tagName: string;
|
|
130
|
+
constructor(config: Config, table: Table, enums?: EnumMetadata);
|
|
84
131
|
get name(): string;
|
|
85
132
|
}
|
|
86
133
|
export declare function oneToOneName(config: Config, entity: Entity, otherEntity: Entity): string;
|
|
@@ -91,3 +138,4 @@ export declare function collectionName(config: Config, entity: Entity, otherEnti
|
|
|
91
138
|
singularName: string;
|
|
92
139
|
};
|
|
93
140
|
export declare function makeEntity(entityName: string): Entity;
|
|
141
|
+
export {};
|
|
@@ -7,41 +7,70 @@ const pluralize_1 = require("pluralize");
|
|
|
7
7
|
const ts_poet_1 = require("ts-poet");
|
|
8
8
|
const config_1 = require("./config");
|
|
9
9
|
const utils_1 = require("./utils");
|
|
10
|
-
// TODO Populate from config
|
|
11
|
-
const columnCustomizations = {};
|
|
12
10
|
/** Adapts the generally-great pg-structure metadata into our specific ORM types. */
|
|
13
11
|
class EntityDbMetadata {
|
|
14
|
-
constructor(config, table) {
|
|
15
|
-
this.entity = makeEntity(utils_1.tableToEntityName(config, table));
|
|
12
|
+
constructor(config, table, enums = {}) {
|
|
13
|
+
this.entity = makeEntity((0, utils_1.tableToEntityName)(config, table));
|
|
14
|
+
this.idDbType = table.columns.filter((c) => c.isPrimaryKey).map((c) => c.type.shortName)[0] ?? (0, utils_1.fail)();
|
|
16
15
|
this.primitives = table.columns
|
|
17
16
|
.filter((c) => !c.isPrimaryKey && !c.isForeignKey)
|
|
18
|
-
.
|
|
19
|
-
|
|
17
|
+
.filter((c) => !isEnumArray(c) && !isPgEnum(c))
|
|
18
|
+
.map((column) => newPrimitive(config, this.entity, column, table))
|
|
19
|
+
.filter((f) => !f.ignore);
|
|
20
|
+
this.enums = [
|
|
21
|
+
...table.m2oRelations
|
|
22
|
+
.filter((r) => (0, utils_1.isEnumTable)(r.targetTable))
|
|
23
|
+
.map((r) => newEnumField(config, this.entity, r, enums))
|
|
24
|
+
.filter((f) => !f.ignore),
|
|
25
|
+
...table.columns
|
|
26
|
+
.filter((c) => isEnumArray(c))
|
|
27
|
+
.map((column) => newEnumArrayField(config, this.entity, column, enums))
|
|
28
|
+
.filter((f) => !f.ignore),
|
|
29
|
+
];
|
|
30
|
+
this.pgEnums = [
|
|
31
|
+
...table.columns
|
|
32
|
+
.filter((c) => isPgEnum(c))
|
|
33
|
+
.map((column) => newPgEnumField(config, this.entity, column, table))
|
|
34
|
+
.filter((f) => !f.ignore),
|
|
35
|
+
];
|
|
20
36
|
this.manyToOnes = table.m2oRelations
|
|
21
|
-
.filter((r) => !utils_1.isEnumTable(r.targetTable))
|
|
37
|
+
.filter((r) => !(0, utils_1.isEnumTable)(r.targetTable))
|
|
22
38
|
.filter((r) => !isMultiColumnForeignKey(r))
|
|
23
|
-
.
|
|
24
|
-
|
|
39
|
+
.filter((r) => !isComponentOfPolymorphicRelation(config, r))
|
|
40
|
+
.map((r) => newManyToOneField(config, this.entity, r))
|
|
41
|
+
.filter((f) => !f.ignore);
|
|
42
|
+
// We split these into regular/large...
|
|
43
|
+
const allOneToManys = table.o2mRelations
|
|
25
44
|
// ManyToMany join tables also show up as OneToMany tables in pg-structure
|
|
26
|
-
.filter((r) => !utils_1.isJoinTable(r.targetTable))
|
|
45
|
+
.filter((r) => !(0, utils_1.isJoinTable)(r.targetTable))
|
|
27
46
|
.filter((r) => !isMultiColumnForeignKey(r))
|
|
28
47
|
.filter((r) => !isOneToOneRelation(r))
|
|
29
|
-
.map((r) => newOneToMany(config, this.entity, r))
|
|
48
|
+
.map((r) => newOneToMany(config, this.entity, r))
|
|
49
|
+
.filter((f) => !f.ignore);
|
|
50
|
+
this.oneToManys = allOneToManys.filter((f) => !f.isLargeCollection);
|
|
51
|
+
this.largeOneToManys = allOneToManys.filter((f) => f.isLargeCollection);
|
|
30
52
|
this.oneToOnes = table.o2mRelations
|
|
31
53
|
// ManyToMany join tables also show up as OneToMany tables in pg-structure
|
|
32
|
-
.filter((r) => !utils_1.isJoinTable(r.targetTable))
|
|
54
|
+
.filter((r) => !(0, utils_1.isJoinTable)(r.targetTable))
|
|
33
55
|
.filter((r) => !isMultiColumnForeignKey(r))
|
|
34
56
|
.filter((r) => isOneToOneRelation(r))
|
|
35
|
-
.map((r) => newOneToOne(config, this.entity, r))
|
|
36
|
-
|
|
57
|
+
.map((r) => newOneToOne(config, this.entity, r))
|
|
58
|
+
.filter((f) => !f.ignore);
|
|
59
|
+
// We split these into regular/large
|
|
60
|
+
const allManyToManys = table.m2mRelations
|
|
37
61
|
// pg-structure is really loose on what it considers a m2m relationship, i.e. any entity
|
|
38
62
|
// that has a foreign key to us, and a foreign key to something else, is automatically
|
|
39
63
|
// considered as a join table/m2m between "us" and "something else". Filter these out
|
|
40
64
|
// by looking for only true join tables, i.e. tables with only id, fk1, and fk2.
|
|
41
|
-
.filter((r) => utils_1.isJoinTable(r.joinTable))
|
|
65
|
+
.filter((r) => (0, utils_1.isJoinTable)(r.joinTable))
|
|
42
66
|
.filter((r) => !isMultiColumnForeignKey(r))
|
|
43
|
-
.map((r) => newManyToManyField(config, this.entity, r))
|
|
67
|
+
.map((r) => newManyToManyField(config, this.entity, r))
|
|
68
|
+
.filter((f) => !f.ignore);
|
|
69
|
+
this.manyToManys = allManyToManys.filter((f) => !f.isLargeCollection);
|
|
70
|
+
this.largeManyToManys = allManyToManys.filter((f) => f.isLargeCollection);
|
|
71
|
+
this.polymorphics = polymorphicRelations(config, table).map((rc) => newPolymorphicField(config, table, this.entity, rc));
|
|
44
72
|
this.tableName = table.name;
|
|
73
|
+
this.tagName = config.entities[this.entity.name]?.tag;
|
|
45
74
|
}
|
|
46
75
|
get name() {
|
|
47
76
|
return this.entity.name;
|
|
@@ -52,107 +81,235 @@ function isMultiColumnForeignKey(r) {
|
|
|
52
81
|
return r.foreignKey.columns.length > 1;
|
|
53
82
|
}
|
|
54
83
|
function isOneToOneRelation(r) {
|
|
55
|
-
var _a;
|
|
56
84
|
// otherColumn will be the images.book_id in the other table
|
|
57
85
|
const otherColumn = r.foreignKey.columns[0];
|
|
58
86
|
// r.foreignKey.index is the index on _us_ (i.e. our Book primary key), so look up indexes in the target table
|
|
59
|
-
const indexes =
|
|
87
|
+
const indexes = r.targetTable.columns.find((c) => c.name == otherColumn.name)?.uniqueIndexes || [];
|
|
60
88
|
// If the column is the only column in an unique index, it's a one-to-one
|
|
61
89
|
return indexes.find((i) => i.columns.length === 1) !== undefined;
|
|
62
90
|
}
|
|
91
|
+
function polymorphicRelations(config, table) {
|
|
92
|
+
const entity = config.entities[(0, utils_1.tableToEntityName)(config, table)];
|
|
93
|
+
return Object.entries(entity?.relations ?? {})
|
|
94
|
+
.filter(([, r]) => r.polymorphic)
|
|
95
|
+
.map(([name, relation]) => ({ name, ...relation }));
|
|
96
|
+
}
|
|
97
|
+
function polymorphicFieldName(config, r) {
|
|
98
|
+
const { name } = r.foreignKey.columns[0];
|
|
99
|
+
const table = r instanceof pg_structure_1.M2ORelation ? r.sourceTable : r.targetTable;
|
|
100
|
+
return polymorphicRelations(config, table).find((pr) => name.startsWith(`${(0, change_case_1.snakeCase)(pr.name)}_`))?.name;
|
|
101
|
+
}
|
|
102
|
+
function isComponentOfPolymorphicRelation(config, r) {
|
|
103
|
+
return polymorphicFieldName(config, r) !== undefined;
|
|
104
|
+
}
|
|
63
105
|
function newPrimitive(config, entity, column, table) {
|
|
64
|
-
const fieldName =
|
|
106
|
+
const fieldName = primitiveFieldName(column.name);
|
|
65
107
|
const columnName = column.name;
|
|
108
|
+
const columnType = (column.type.shortName || column.type.name);
|
|
109
|
+
const fieldType = mapType(table.name, columnName, columnType);
|
|
110
|
+
const superstruct = (0, config_1.superstructConfig)(config, entity, fieldName);
|
|
111
|
+
const maybeUserType = fieldType === "Object" && superstruct ? superstructType(superstruct) : fieldType;
|
|
66
112
|
return {
|
|
113
|
+
kind: "primitive",
|
|
67
114
|
fieldName,
|
|
68
115
|
columnName,
|
|
69
|
-
columnType
|
|
70
|
-
fieldType:
|
|
116
|
+
columnType,
|
|
117
|
+
fieldType: maybeUserType,
|
|
118
|
+
rawFieldType: fieldType,
|
|
71
119
|
notNull: column.notNull,
|
|
72
120
|
columnDefault: column.default,
|
|
73
121
|
derived: fieldDerived(config, entity, fieldName),
|
|
74
|
-
protected: config_1.isProtected(config, entity, fieldName),
|
|
122
|
+
protected: (0, config_1.isProtected)(config, entity, fieldName),
|
|
123
|
+
ignore: (0, config_1.isFieldIgnored)(config, entity, fieldName, column.notNull, column.default !== null),
|
|
124
|
+
superstruct: fieldType === "Object" && superstruct ? ts_poet_1.Import.from(superstruct) : undefined,
|
|
75
125
|
};
|
|
76
126
|
}
|
|
77
127
|
function fieldDerived(config, entity, fieldName) {
|
|
78
128
|
if (config_1.ormMaintainedFields.includes(fieldName)) {
|
|
79
129
|
return "orm";
|
|
80
130
|
}
|
|
81
|
-
else if (config_1.isDerived(config, entity, fieldName)) {
|
|
131
|
+
else if ((0, config_1.isDerived)(config, entity, fieldName)) {
|
|
82
132
|
return "sync";
|
|
83
133
|
}
|
|
84
|
-
else if (config_1.isAsyncDerived(config, entity, fieldName)) {
|
|
134
|
+
else if ((0, config_1.isAsyncDerived)(config, entity, fieldName)) {
|
|
85
135
|
return "async";
|
|
86
136
|
}
|
|
87
137
|
else {
|
|
88
138
|
return false;
|
|
89
139
|
}
|
|
90
140
|
}
|
|
91
|
-
function newEnumField(config, r) {
|
|
141
|
+
function newEnumField(config, entity, r, enums) {
|
|
92
142
|
const column = r.foreignKey.columns[0];
|
|
93
143
|
const columnName = column.name;
|
|
94
|
-
const fieldName =
|
|
95
|
-
const enumName = utils_1.tableToEntityName(config, r.targetTable);
|
|
96
|
-
const enumType = ts_poet_1.imp(`${enumName}@./entities`);
|
|
97
|
-
const enumDetailType = ts_poet_1.imp(`${pluralize_1.plural(enumName)}@./entities`);
|
|
144
|
+
const fieldName = enumFieldName(column.name);
|
|
145
|
+
const enumName = (0, utils_1.tableToEntityName)(config, r.targetTable);
|
|
146
|
+
const enumType = (0, ts_poet_1.imp)(`${enumName}@./entities`);
|
|
147
|
+
const enumDetailType = (0, ts_poet_1.imp)(`${(0, pluralize_1.plural)(enumName)}@./entities`);
|
|
148
|
+
const enumDetailsType = (0, ts_poet_1.imp)(`${enumName}Details@./entities`);
|
|
149
|
+
const notNull = column.notNull;
|
|
150
|
+
const ignore = (0, config_1.isFieldIgnored)(config, entity, fieldName, notNull, column.default !== null);
|
|
151
|
+
return {
|
|
152
|
+
kind: "enum",
|
|
153
|
+
fieldName,
|
|
154
|
+
columnName,
|
|
155
|
+
columnDefault: column.default,
|
|
156
|
+
enumName,
|
|
157
|
+
enumType,
|
|
158
|
+
enumDetailType,
|
|
159
|
+
enumDetailsType,
|
|
160
|
+
notNull,
|
|
161
|
+
ignore,
|
|
162
|
+
enumRows: enums[r.targetTable.name].rows,
|
|
163
|
+
isArray: false,
|
|
164
|
+
};
|
|
165
|
+
}
|
|
166
|
+
function newEnumArrayField(config, entity, column, enums) {
|
|
167
|
+
const columnName = column.name;
|
|
168
|
+
const fieldName = enumFieldName(column.name);
|
|
169
|
+
// Find the enum table name via the comment hint (instead of a FK constraint), and strip the enum= prefix
|
|
170
|
+
const enumTable = column.comment.replace("enum=", "");
|
|
171
|
+
const enumName = (enums[enumTable] || (0, utils_1.fail)(`Could not find enum ${enumTable}`)).name;
|
|
172
|
+
const enumType = (0, ts_poet_1.imp)(`${enumName}@./entities`);
|
|
173
|
+
const enumDetailType = (0, ts_poet_1.imp)(`${(0, pluralize_1.plural)(enumName)}@./entities`);
|
|
174
|
+
const enumDetailsType = (0, ts_poet_1.imp)(`${enumName}Details@./entities`);
|
|
98
175
|
const notNull = column.notNull;
|
|
99
|
-
|
|
176
|
+
const ignore = (0, config_1.isFieldIgnored)(config, entity, fieldName, notNull, column.default !== null);
|
|
177
|
+
return {
|
|
178
|
+
kind: "enum",
|
|
179
|
+
fieldName,
|
|
180
|
+
columnName,
|
|
181
|
+
columnDefault: column.default,
|
|
182
|
+
enumName,
|
|
183
|
+
enumType,
|
|
184
|
+
enumDetailType,
|
|
185
|
+
enumDetailsType,
|
|
186
|
+
notNull,
|
|
187
|
+
ignore,
|
|
188
|
+
enumRows: enums[enumTable].rows,
|
|
189
|
+
isArray: true,
|
|
190
|
+
};
|
|
191
|
+
}
|
|
192
|
+
function newPgEnumField(config, entity, column, table) {
|
|
193
|
+
const fieldName = primitiveFieldName(column.name);
|
|
194
|
+
const columnName = column.name;
|
|
195
|
+
const enumName = (0, change_case_1.pascalCase)(column.type.name);
|
|
196
|
+
const enumType = (0, ts_poet_1.imp)(`${enumName}@./entities`);
|
|
197
|
+
return {
|
|
198
|
+
kind: "pg-enum",
|
|
199
|
+
fieldName,
|
|
200
|
+
columnName,
|
|
201
|
+
enumType,
|
|
202
|
+
enumName,
|
|
203
|
+
enumValues: column.type.values,
|
|
204
|
+
notNull: column.notNull,
|
|
205
|
+
columnDefault: column.default,
|
|
206
|
+
ignore: (0, config_1.isFieldIgnored)(config, entity, fieldName, column.notNull, column.default !== null),
|
|
207
|
+
};
|
|
100
208
|
}
|
|
101
209
|
function newManyToOneField(config, entity, r) {
|
|
102
210
|
const column = r.foreignKey.columns[0];
|
|
103
211
|
const columnName = column.name;
|
|
212
|
+
const dbType = r.foreignKey.columns[0].type.shortName;
|
|
104
213
|
const fieldName = referenceName(config, entity, r);
|
|
105
|
-
const otherEntity = makeEntity(utils_1.tableToEntityName(config, r.targetTable));
|
|
214
|
+
const otherEntity = makeEntity((0, utils_1.tableToEntityName)(config, r.targetTable));
|
|
106
215
|
const isOneToOne = column.uniqueIndexes.find((i) => i.columns.length === 1) !== undefined;
|
|
107
216
|
const otherFieldName = isOneToOne
|
|
108
217
|
? oneToOneName(config, otherEntity, entity)
|
|
109
218
|
: collectionName(config, otherEntity, entity, r).fieldName;
|
|
110
219
|
const notNull = column.notNull;
|
|
111
|
-
|
|
220
|
+
const ignore = (0, config_1.isFieldIgnored)(config, entity, fieldName, notNull, column.default !== null);
|
|
221
|
+
return { kind: "m2o", fieldName, columnName, otherEntity, otherFieldName, notNull, ignore, dbType };
|
|
112
222
|
}
|
|
113
223
|
function newOneToMany(config, entity, r) {
|
|
114
224
|
const column = r.foreignKey.columns[0];
|
|
115
225
|
// source == parent i.e. the reference of the foreign key column
|
|
116
226
|
// target == child i.e. the table with the foreign key column in it
|
|
117
|
-
const otherEntity = makeEntity(utils_1.tableToEntityName(config, r.targetTable));
|
|
227
|
+
const otherEntity = makeEntity((0, utils_1.tableToEntityName)(config, r.targetTable));
|
|
118
228
|
const { singularName, fieldName } = collectionName(config, entity, otherEntity, r);
|
|
119
229
|
const otherFieldName = referenceName(config, otherEntity, r);
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
230
|
+
return {
|
|
231
|
+
kind: "o2m",
|
|
232
|
+
fieldName,
|
|
233
|
+
singularName,
|
|
234
|
+
otherEntity,
|
|
235
|
+
otherFieldName,
|
|
236
|
+
otherColumnName: column.name,
|
|
237
|
+
otherColumnNotNull: column.notNull,
|
|
238
|
+
ignore: (0, config_1.isFieldIgnored)(config, entity, fieldName) || (0, config_1.isFieldIgnored)(config, otherEntity, otherFieldName),
|
|
239
|
+
isLargeCollection: (0, config_1.isLargeCollection)(config, entity, fieldName),
|
|
240
|
+
};
|
|
123
241
|
}
|
|
124
242
|
function newOneToOne(config, entity, r) {
|
|
125
243
|
const column = r.foreignKey.columns[0];
|
|
126
244
|
// source == parent i.e. the reference of the foreign key column
|
|
127
245
|
// target == child i.e. the table with the foreign key column in it
|
|
128
|
-
const otherEntity = makeEntity(utils_1.tableToEntityName(config, r.targetTable));
|
|
246
|
+
const otherEntity = makeEntity((0, utils_1.tableToEntityName)(config, r.targetTable));
|
|
129
247
|
const fieldName = oneToOneName(config, entity, otherEntity);
|
|
130
248
|
const otherFieldName = referenceName(config, otherEntity, r);
|
|
131
249
|
const otherColumnName = column.name;
|
|
132
250
|
const otherColumnNotNull = column.notNull;
|
|
133
|
-
|
|
251
|
+
const ignore = (0, config_1.isFieldIgnored)(config, entity, fieldName) || (0, config_1.isFieldIgnored)(config, otherEntity, otherFieldName);
|
|
252
|
+
return { kind: "o2o", fieldName, otherEntity, otherFieldName, otherColumnName, otherColumnNotNull, ignore };
|
|
134
253
|
}
|
|
135
254
|
function newManyToManyField(config, entity, r) {
|
|
136
255
|
const { foreignKey, targetForeignKey, targetTable } = r;
|
|
137
|
-
const
|
|
138
|
-
const
|
|
139
|
-
const
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
256
|
+
const otherEntity = makeEntity((0, utils_1.tableToEntityName)(config, targetTable));
|
|
257
|
+
const fieldName = (0, config_1.relationName)(config, entity, (0, change_case_1.camelCase)((0, pluralize_1.plural)(targetForeignKey.columns[0].name.replace("_id", ""))));
|
|
258
|
+
const otherFieldName = (0, config_1.relationName)(config, otherEntity, (0, change_case_1.camelCase)((0, pluralize_1.plural)(foreignKey.columns[0].name.replace("_id", ""))));
|
|
259
|
+
return {
|
|
260
|
+
kind: "m2m",
|
|
261
|
+
joinTableName: r.joinTable.name,
|
|
262
|
+
fieldName,
|
|
263
|
+
singularName: (0, pluralize_1.singular)(fieldName),
|
|
264
|
+
columnName: foreignKey.columns[0].name,
|
|
265
|
+
otherEntity,
|
|
266
|
+
otherFieldName,
|
|
267
|
+
otherColumnName: targetForeignKey.columns[0].name,
|
|
268
|
+
ignore: (0, config_1.isFieldIgnored)(config, entity, fieldName) || (0, config_1.isFieldIgnored)(config, otherEntity, otherFieldName),
|
|
269
|
+
isLargeCollection: (0, config_1.isLargeCollection)(config, entity, fieldName),
|
|
270
|
+
};
|
|
271
|
+
}
|
|
272
|
+
function newPolymorphicField(config, table, entity, rc) {
|
|
273
|
+
const { polymorphic, name } = rc;
|
|
274
|
+
const fieldName = name;
|
|
275
|
+
const components = table.m2oRelations
|
|
276
|
+
.filter((r) => !(0, utils_1.isEnumTable)(r.targetTable))
|
|
277
|
+
.filter((r) => !isMultiColumnForeignKey(r))
|
|
278
|
+
.filter((r) => polymorphicFieldName(config, r) === fieldName)
|
|
279
|
+
.map((r) => newPolymorphicFieldComponent(config, entity, r));
|
|
280
|
+
return {
|
|
281
|
+
fieldName,
|
|
282
|
+
fieldType: `${entity.name}${(0, change_case_1.pascalCase)(fieldName)}`,
|
|
283
|
+
notNull: polymorphic === "notNull",
|
|
284
|
+
components,
|
|
285
|
+
};
|
|
286
|
+
}
|
|
287
|
+
function newPolymorphicFieldComponent(config, entity, r) {
|
|
288
|
+
const column = r.foreignKey.columns[0];
|
|
289
|
+
const columnName = column.name;
|
|
290
|
+
const otherEntity = makeEntity((0, utils_1.tableToEntityName)(config, r.targetTable));
|
|
291
|
+
const isOneToOne = column.uniqueIndexes.find((i) => i.columns.length === 1) !== undefined;
|
|
292
|
+
const otherFieldName = isOneToOne
|
|
293
|
+
? oneToOneName(config, otherEntity, entity)
|
|
294
|
+
: collectionName(config, otherEntity, entity, r).fieldName;
|
|
295
|
+
return { columnName, otherEntity, otherFieldName };
|
|
145
296
|
}
|
|
146
297
|
function oneToOneName(config, entity, otherEntity) {
|
|
147
|
-
return config_1.relationName(config, entity, change_case_1.camelCase(otherEntity.name));
|
|
298
|
+
return (0, config_1.relationName)(config, entity, (0, change_case_1.camelCase)(otherEntity.name));
|
|
148
299
|
}
|
|
149
300
|
exports.oneToOneName = oneToOneName;
|
|
150
301
|
function referenceName(config, entity, r) {
|
|
151
302
|
const column = r.foreignKey.columns[0];
|
|
152
|
-
const fieldName = change_case_1.camelCase(column.name.replace("_id", ""));
|
|
153
|
-
return config_1.relationName(config, entity, fieldName);
|
|
303
|
+
const fieldName = polymorphicFieldName(config, r) ?? (0, change_case_1.camelCase)(column.name.replace("_id", ""));
|
|
304
|
+
return (0, config_1.relationName)(config, entity, fieldName);
|
|
154
305
|
}
|
|
155
306
|
exports.referenceName = referenceName;
|
|
307
|
+
function enumFieldName(columnName) {
|
|
308
|
+
return (0, change_case_1.camelCase)(columnName.replace("_id", ""));
|
|
309
|
+
}
|
|
310
|
+
function primitiveFieldName(columnName) {
|
|
311
|
+
return (0, change_case_1.camelCase)(columnName);
|
|
312
|
+
}
|
|
156
313
|
/** Returns the collection name to use on `entity` when referring to `otherEntity`s. */
|
|
157
314
|
function collectionName(config, entity, otherEntity, r) {
|
|
158
315
|
// TODO Handle conflicts in names
|
|
@@ -169,12 +326,12 @@ function collectionName(config, entity, otherEntity, r) {
|
|
|
169
326
|
fieldName = fieldName.replace(entity.name, "");
|
|
170
327
|
}
|
|
171
328
|
// camelize the name
|
|
172
|
-
let singularName = change_case_1.camelCase(fieldName);
|
|
173
|
-
fieldName = change_case_1.camelCase(pluralize_1.plural(fieldName));
|
|
329
|
+
let singularName = (0, change_case_1.camelCase)(fieldName);
|
|
330
|
+
fieldName = (0, change_case_1.camelCase)((0, pluralize_1.plural)(fieldName));
|
|
174
331
|
// If the name is overridden, use that, but also singularize it
|
|
175
|
-
const maybeOverriddenName = config_1.relationName(config, entity, fieldName);
|
|
332
|
+
const maybeOverriddenName = (0, config_1.relationName)(config, entity, fieldName);
|
|
176
333
|
if (maybeOverriddenName !== fieldName) {
|
|
177
|
-
singularName = pluralize_1.singular(maybeOverriddenName);
|
|
334
|
+
singularName = (0, pluralize_1.singular)(maybeOverriddenName);
|
|
178
335
|
fieldName = maybeOverriddenName;
|
|
179
336
|
}
|
|
180
337
|
return { singularName, fieldName };
|
|
@@ -186,25 +343,34 @@ function makeEntity(entityName) {
|
|
|
186
343
|
type: entityType(entityName),
|
|
187
344
|
metaName: metaName(entityName),
|
|
188
345
|
metaType: metaType(entityName),
|
|
189
|
-
idType: ts_poet_1.imp(`${entityName}Id@./entities`, { definedIn: `./${entityName}Codegen` }),
|
|
190
|
-
orderType: ts_poet_1.imp(`${entityName}Order@./entities`, { definedIn: `./${entityName}Codegen` }),
|
|
191
|
-
optsType: ts_poet_1.imp(`${entityName}Opts@./entities`, { definedIn: `./${entityName}Codegen` }),
|
|
192
|
-
configConst: ts_poet_1.imp(`${change_case_1.camelCase(entityName)}Config@./entities`, { definedIn: `./${entityName}Codegen` }),
|
|
346
|
+
idType: (0, ts_poet_1.imp)(`${entityName}Id@./entities`, { definedIn: `./${entityName}Codegen` }),
|
|
347
|
+
orderType: (0, ts_poet_1.imp)(`${entityName}Order@./entities`, { definedIn: `./${entityName}Codegen` }),
|
|
348
|
+
optsType: (0, ts_poet_1.imp)(`${entityName}Opts@./entities`, { definedIn: `./${entityName}Codegen` }),
|
|
349
|
+
configConst: (0, ts_poet_1.imp)(`${(0, change_case_1.camelCase)(entityName)}Config@./entities`, { definedIn: `./${entityName}Codegen` }),
|
|
193
350
|
};
|
|
194
351
|
}
|
|
195
352
|
exports.makeEntity = makeEntity;
|
|
196
353
|
function metaName(entityName) {
|
|
197
|
-
return `${change_case_1.camelCase(entityName)}Meta`;
|
|
354
|
+
return `${(0, change_case_1.camelCase)(entityName)}Meta`;
|
|
198
355
|
}
|
|
199
356
|
function metaType(entityName) {
|
|
200
|
-
return ts_poet_1.imp(`${metaName(entityName)}@./entities`);
|
|
357
|
+
return (0, ts_poet_1.imp)(`${metaName(entityName)}@./entities`);
|
|
201
358
|
}
|
|
202
359
|
function entityType(entityName) {
|
|
203
|
-
return ts_poet_1.imp(`${entityName}@./entities`);
|
|
360
|
+
return (0, ts_poet_1.imp)(`${entityName}@./entities`);
|
|
204
361
|
}
|
|
205
362
|
function mapType(tableName, columnName, dbColumnType) {
|
|
206
|
-
return (
|
|
207
|
-
|
|
208
|
-
|
|
363
|
+
return (0, utils_1.mapSimpleDbTypeToTypescriptType)(dbColumnType);
|
|
364
|
+
}
|
|
365
|
+
function isEnumArray(c) {
|
|
366
|
+
return c.arrayDimension === 1 && !!c.comment && c.comment.startsWith("enum=");
|
|
367
|
+
}
|
|
368
|
+
function isPgEnum(c) {
|
|
369
|
+
return c.type instanceof pg_structure_1.EnumType;
|
|
370
|
+
}
|
|
371
|
+
function superstructType(s) {
|
|
372
|
+
// Assume it's `foo@...`, turn it into `Foo@...`
|
|
373
|
+
const [symbol, path] = s.split("@");
|
|
374
|
+
return ts_poet_1.Import.from(`${(0, change_case_1.pascalCase)(symbol)}@${path}`);
|
|
209
375
|
}
|
|
210
376
|
//# sourceMappingURL=EntityDbMetadata.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntityDbMetadata.js","sourceRoot":"","sources":["../src/EntityDbMetadata.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"EntityDbMetadata.js","sourceRoot":"","sources":["../src/EntityDbMetadata.ts"],"names":[],"mappings":"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"}
|