commit
9ecc3dbbb0
@ -4,28 +4,13 @@ import { Entity } from "./models/Entity";
|
||||
import IGenerationOptions from "./IGenerationOptions";
|
||||
import * as NamingStrategy from "./NamingStrategy";
|
||||
import * as TomgUtils from "./Utils";
|
||||
import { Relation } from "./models/Relation";
|
||||
import { RelationId } from "./models/RelationId";
|
||||
import { Column } from "./models/Column";
|
||||
|
||||
type NamingStrategy = {
|
||||
enablePluralization: (value: boolean) => void;
|
||||
relationIdName: (
|
||||
relationId: RelationId,
|
||||
relation: Relation,
|
||||
owner: Entity
|
||||
) => string;
|
||||
relationName: (relation: Relation, owner: Entity) => string;
|
||||
columnName: (columnName: string, column?: Column) => string;
|
||||
entityName: (entityName: string, entity?: Entity) => string;
|
||||
};
|
||||
|
||||
export default function modelCustomizationPhase(
|
||||
dbModel: Entity[],
|
||||
generationOptions: IGenerationOptions,
|
||||
defaultValues: DataTypeDefaults
|
||||
): Entity[] {
|
||||
const namingStrategy: NamingStrategy = {
|
||||
const namingStrategy: typeof NamingStrategy = {
|
||||
enablePluralization: NamingStrategy.enablePluralization,
|
||||
columnName: NamingStrategy.columnName,
|
||||
entityName: NamingStrategy.entityName,
|
||||
@ -39,7 +24,7 @@ export default function modelCustomizationPhase(
|
||||
// TODO: change form of logging
|
||||
const req = TomgUtils.requireLocalFile(
|
||||
generationOptions.customNamingStrategyPath
|
||||
) as Partial<NamingStrategy>;
|
||||
) as Partial<typeof NamingStrategy>;
|
||||
if (req.columnName) {
|
||||
console.log(
|
||||
`[${new Date().toLocaleTimeString()}] Using custom naming strategy for column names.`
|
||||
@ -242,7 +227,7 @@ function addImportsAndGenerationOptions(
|
||||
}
|
||||
|
||||
function applyNamingStrategy(
|
||||
namingStrategy: NamingStrategy,
|
||||
namingStrategy: typeof NamingStrategy,
|
||||
dbModel: Entity[]
|
||||
): Entity[] {
|
||||
let retVal = changeRelationNames(dbModel);
|
||||
|
@ -1,7 +1,10 @@
|
||||
/* eslint-disable @typescript-eslint/no-unused-vars */
|
||||
import { plural } from "pluralize";
|
||||
import * as changeCase from "change-case";
|
||||
import { Relation } from "./models/Relation";
|
||||
import { RelationId } from "./models/RelationId";
|
||||
import { Entity } from "./models/Entity";
|
||||
import { Column } from "./models/Column";
|
||||
|
||||
let pluralize: boolean;
|
||||
|
||||
@ -11,7 +14,8 @@ export function enablePluralization(value: boolean) {
|
||||
|
||||
export function relationIdName(
|
||||
relationId: RelationId,
|
||||
relation: Relation
|
||||
relation: Relation,
|
||||
owner?: Entity
|
||||
): string {
|
||||
const columnOldName = relationId.fieldName;
|
||||
|
||||
@ -35,7 +39,7 @@ export function relationIdName(
|
||||
return newColumnName;
|
||||
}
|
||||
|
||||
export function relationName(relation: Relation): string {
|
||||
export function relationName(relation: Relation, owner?: Entity): string {
|
||||
const columnOldName = relation.fieldName;
|
||||
|
||||
const isRelationToMany =
|
||||
@ -66,10 +70,10 @@ export function relationName(relation: Relation): string {
|
||||
return newColumnName;
|
||||
}
|
||||
|
||||
export function entityName(oldEntityName: string): string {
|
||||
export function entityName(oldEntityName: string, entity?: Entity): string {
|
||||
return oldEntityName;
|
||||
}
|
||||
|
||||
export function columnName(oldColumnName: string): string {
|
||||
export function columnName(oldColumnName: string, column?: Column): string {
|
||||
return oldColumnName;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user