gen-jhipster
Version:
VHipster - Spring Boot + Angular/React/Vue in one handy generator
40 lines (39 loc) • 1.95 kB
JavaScript
/**
* Copyright 2013-2026 the original author or authors from the JHipster project.
*
* This file is part of the JHipster project, see https://www.jhipster.tech/
* for more information.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { fieldTypes } from "../../../lib/jhipster/index.js";
import { asPostPreparingEachEntityTask } from "../../base-application/support/task-type-inference.js";
const { CommonDBTypes } = fieldTypes;
const { LONG: TYPE_LONG, INTEGER: TYPE_INTEGER } = CommonDBTypes;
export default asPostPreparingEachEntityTask(function postPrepareEntity({ application, entity, }) {
const { relationships, builtIn, name, primaryKey } = entity;
if (builtIn && name === 'User' && primaryKey) {
const userIdType = primaryKey.type;
const idField = primaryKey.fields[0];
const idFieldName = idField.fieldName ?? 'id';
const liquibaseFakeData = application.generateUserManagement
? [
{ [idFieldName]: [TYPE_INTEGER, TYPE_LONG].includes(userIdType) ? 1 : idField.generateFakeData() },
{ [idFieldName]: [TYPE_INTEGER, TYPE_LONG].includes(userIdType) ? 2 : idField.generateFakeData() },
]
: [];
entity.liquibaseFakeData = liquibaseFakeData;
entity.fakeDataCount = liquibaseFakeData.length;
}
entity.anyRelationshipIsOwnerSide = relationships.some(relationship => relationship.ownerSide);
});