application {
    config {
        baseName <%= baseName %>-gateway
        applicationType gateway
        serverPort 8080
        ormTool hibernate
        useLombok <%= useLombok %>
        packageName <%= packageName %>
        databaseType <%= databaseType %>
        prodDatabaseType <%= prodDatabaseType %>
        devDatabaseType <%= devDatabaseType %>
        authenticationType <%= authenticationType %>
        clientFramework <%= clientFramework %>
        javaVersion <%= javaVersion %>
        enableTranslation <%= enableTranslation %>
        languages [<%= languages %>]
        nativeLanguage <%= nativeLanguage %>
        multiModule false
        skipClient true
        frontOrBack [back]
        skipUserManagement true
        jwtSecretKey "<%= jwtSecretKey %>"
        serviceDiscoveryType <%= serviceDiscoveryType %>
        cacheProvider <%= cacheProvider %>
        useMultiTenant <%= useMultiTenant %>
        softDelete <%= softDelete %>
    }
}
application {
    config {
        baseName <%= baseName %>-web
        applicationType gateway
        serverPort 8080
        ormTool <%= ormTool %>
        useLombok <%= useLombok %>
        packageName <%= packageName %>
        databaseType <%= databaseType %>
        prodDatabaseType <%= prodDatabaseType %>
        devDatabaseType <%= devDatabaseType %>
        authenticationType <%= authenticationType %>
        clientFramework <%= clientFramework %>
        javaVersion <%= javaVersion %>
        enableTranslation <%= enableTranslation %>
        languages [<%= languages %>]
        nativeLanguage <%= nativeLanguage %>
        multiModule false
        skipClient false
        skipServer true
        frontOrBack [front]
        skipUserManagement false
        jwtSecretKey "<%= jwtSecretKey %>"
        serviceDiscoveryType <%= serviceDiscoveryType %>
        cacheProvider <%= cacheProvider %>
        useMultiTenant <%= useMultiTenant %>
        softDelete <%= softDelete %>
    }
}
application {
    config {
        baseName <%= baseName %>-base
        applicationType commonmodule
        serverPort 8080
        ormTool <%= ormTool %>
        useLombok <%= useLombok %>
        packageName <%= packageName %>
        databaseType <%= databaseType %>
        prodDatabaseType <%= prodDatabaseType %>
        devDatabaseType <%= devDatabaseType %>
        multiModule <%= multiModule %>
        javaVersion <%= javaVersion %>
        enableTranslation <%= enableTranslation %>
        languages [<%= languages %>]
        nativeLanguage <%= nativeLanguage %>
        builtInServices [core, test, baseApi]
        skipClient true
        useCommonTable false
        skipUserManagement true
        serviceDiscoveryType false
        jwtSecretKey "<%= jwtSecretKey %>"
        cacheProvider <%= cacheProvider %>
        useMultiTenant <%= useMultiTenant %>
        softDelete <%= softDelete %>
        // jhipster-pro-needle-systemApp-config
    }
}
application {
    config {
        baseName <%= baseName %>-system
        applicationType microservice
        serverPort 8081
        builtInServices [sms, idm<%= useCommonTable ? ', metadata' : ''%>]
        ormTool <%= ormTool %>
        useLombok <%= useLombok %>
        packageName <%= packageName %>
        databaseType <%= databaseType %>
        prodDatabaseType <%= prodDatabaseType %>
        devDatabaseType <%= devDatabaseType %>
        authenticationType <%= authenticationType %>
        serviceDiscoveryType <%= serviceDiscoveryType %>
        enableTranslation <%= enableTranslation %>
        languages [<%= languages %>]
        nativeLanguage <%= nativeLanguage %>
        multiModule <%= multiModule %>
        smsProvider <%= smsProvider %>
        javaVersion <%= javaVersion %>
        skipUserManagement false
        jwtSecretKey "<%= jwtSecretKey %>"
        useCommonTable <%= useCommonTable %>
        clientOptions "<%= clientFramework %>"
        cacheProvider <%= cacheProvider %>
        useMultiTenant <%= useMultiTenant %>
        softDelete <%= softDelete %>
    }
    <%_
        const entityList = [];
        if (jobScheduler === 'quartz') {
            entityList.push('TaskJobConfig');
        }
        if (useMultiTenant) {
            entityList.push('Tenant');
        }
    _%>
    entities AbstractAuditingEntity, User, Authority, ApiPermission, ViewPermission, Department, BusinessType, Position, Dictionary, SysFillRule, FillRuleItem, RegionCode, SmsMessage, SmsTemplate, Announcement, AnnouncementRecord, SmsConfig<% if (entityList.length > 0) { %>, <%= entityList.join(', ') %><% } %><%_ if (useCommonTable) { %>, CommonTable, CommonTableField, CommonTableRelationship<%_ if (ormTool === 'hibernate') { _%>,CommonBigDecimal, CommonLocalDate, CommonTextBlob, CommonDouble, CommonFloat, CommonZonedDateTime, CommonString, CommonBoolean, CommonLong, CommonInteger, CommonExtData<%_ } _%><%_ } %>
}
