@ruiapp/rapid-core 0.9.8 → 0.9.9
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/CHANGELOG.md +11 -11
- package/dist/helpers/entityHelper.d.ts +2 -2
- package/dist/index.js +28 -23
- package/package.json +1 -1
- package/rollup.config.js +16 -16
- package/src/bootstrapApplicationConfig.ts +782 -782
- package/src/core/actionHandler.ts +23 -23
- package/src/core/eventManager.ts +20 -20
- package/src/core/facility.ts +7 -7
- package/src/core/http/formDataParser.ts +89 -89
- package/src/core/http-types.ts +4 -4
- package/src/core/pluginManager.ts +193 -193
- package/src/core/providers/runtimeProvider.ts +5 -5
- package/src/core/request.ts +96 -96
- package/src/core/response.ts +79 -79
- package/src/core/routeContext.ts +127 -127
- package/src/core/routes/healthz.ts +20 -20
- package/src/core/routes/index.ts +3 -3
- package/src/core/routesBuilder.ts +110 -110
- package/src/core/server.ts +156 -156
- package/src/dataAccess/columnTypeMapper.ts +22 -22
- package/src/dataAccess/dataAccessTypes.ts +165 -165
- package/src/dataAccess/dataAccessor.ts +135 -135
- package/src/dataAccess/entityManager.ts +1932 -1932
- package/src/dataAccess/entityMapper.ts +111 -111
- package/src/dataAccess/entityValidator.ts +33 -33
- package/src/dataAccess/propertyMapper.ts +28 -28
- package/src/deno-std/assert/assert.ts +9 -9
- package/src/deno-std/assert/assertion_error.ts +7 -7
- package/src/deno-std/datetime/to_imf.ts +32 -32
- package/src/deno-std/encoding/base64.ts +141 -141
- package/src/deno-std/http/cookie.ts +372 -372
- package/src/facilities/cache/CacheFacilityTypes.ts +29 -29
- package/src/facilities/cache/CacheFactory.ts +31 -31
- package/src/facilities/cache/MemoryCache.ts +58 -58
- package/src/facilities/cache/MemoryCacheProvider.ts +15 -15
- package/src/facilities/log/LogFacility.ts +35 -35
- package/src/helpers/entityHelper.ts +89 -76
- package/src/helpers/filterHelper.ts +148 -148
- package/src/helpers/inputHelper.ts +11 -11
- package/src/helpers/licenseHelper.ts +29 -29
- package/src/helpers/metaHelper.ts +111 -111
- package/src/helpers/runCollectionEntityActionHandler.ts +58 -58
- package/src/index.ts +82 -82
- package/src/plugins/auth/AuthPlugin.ts +103 -103
- package/src/plugins/auth/AuthPluginTypes.ts +11 -11
- package/src/plugins/auth/actionHandlers/changePassword.ts +61 -61
- package/src/plugins/auth/actionHandlers/createSession.ts +68 -68
- package/src/plugins/auth/actionHandlers/deleteSession.ts +18 -18
- package/src/plugins/auth/actionHandlers/getMyProfile.ts +38 -38
- package/src/plugins/auth/actionHandlers/index.ts +8 -8
- package/src/plugins/auth/actionHandlers/resetPassword.ts +45 -45
- package/src/plugins/auth/models/AccessToken.ts +56 -56
- package/src/plugins/auth/models/index.ts +3 -3
- package/src/plugins/auth/routes/changePassword.ts +15 -15
- package/src/plugins/auth/routes/getMyProfile.ts +15 -15
- package/src/plugins/auth/routes/index.ts +7 -7
- package/src/plugins/auth/routes/resetPassword.ts +15 -15
- package/src/plugins/auth/routes/signin.ts +15 -15
- package/src/plugins/auth/routes/signout.ts +15 -15
- package/src/plugins/auth/services/AuthService.ts +39 -39
- package/src/plugins/cronJob/CronJobPlugin.ts +104 -104
- package/src/plugins/cronJob/CronJobPluginTypes.ts +44 -44
- package/src/plugins/cronJob/actionHandlers/index.ts +4 -4
- package/src/plugins/cronJob/actionHandlers/runCronJob.ts +32 -32
- package/src/plugins/cronJob/entityWatchers/cronJobEntityWatchers.ts +24 -24
- package/src/plugins/cronJob/entityWatchers/index.ts +4 -4
- package/src/plugins/cronJob/models/CronJob.ts +129 -129
- package/src/plugins/cronJob/models/index.ts +3 -3
- package/src/plugins/cronJob/routes/index.ts +3 -3
- package/src/plugins/cronJob/routes/runCronJob.ts +15 -15
- package/src/plugins/cronJob/services/CronJobService.ts +252 -252
- package/src/plugins/dataManage/DataManagePlugin.ts +163 -163
- package/src/plugins/dataManage/actionHandlers/addEntityRelations.ts +15 -15
- package/src/plugins/dataManage/actionHandlers/countCollectionEntities.ts +17 -17
- package/src/plugins/dataManage/actionHandlers/createCollectionEntitiesBatch.ts +81 -81
- package/src/plugins/dataManage/actionHandlers/createCollectionEntity.ts +20 -20
- package/src/plugins/dataManage/actionHandlers/deleteCollectionEntities.ts +45 -45
- package/src/plugins/dataManage/actionHandlers/deleteCollectionEntityById.ts +20 -20
- package/src/plugins/dataManage/actionHandlers/findCollectionEntities.ts +27 -27
- package/src/plugins/dataManage/actionHandlers/findCollectionEntityById.ts +30 -30
- package/src/plugins/dataManage/actionHandlers/queryDatabase.ts +22 -22
- package/src/plugins/dataManage/actionHandlers/removeEntityRelations.ts +15 -15
- package/src/plugins/dataManage/actionHandlers/updateCollectionEntityById.ts +38 -38
- package/src/plugins/entityAccessControl/EntityAccessControlPlugin.ts +146 -146
- package/src/plugins/fileManage/FileManagePlugin.ts +52 -52
- package/src/plugins/fileManage/actionHandlers/downloadDocument.ts +65 -65
- package/src/plugins/fileManage/actionHandlers/downloadFile.ts +44 -44
- package/src/plugins/fileManage/actionHandlers/uploadFile.ts +33 -33
- package/src/plugins/fileManage/routes/downloadDocument.ts +15 -15
- package/src/plugins/fileManage/routes/downloadFile.ts +15 -15
- package/src/plugins/fileManage/routes/index.ts +5 -5
- package/src/plugins/fileManage/routes/uploadFile.ts +15 -15
- package/src/plugins/license/LicensePlugin.ts +79 -79
- package/src/plugins/license/LicensePluginTypes.ts +95 -95
- package/src/plugins/license/LicenseService.ts +137 -137
- package/src/plugins/license/actionHandlers/getLicense.ts +18 -18
- package/src/plugins/license/actionHandlers/index.ts +5 -5
- package/src/plugins/license/actionHandlers/updateLicense.ts +24 -24
- package/src/plugins/license/helpers/certHelper.ts +21 -21
- package/src/plugins/license/helpers/cryptoHelper.ts +47 -47
- package/src/plugins/license/models/index.ts +1 -1
- package/src/plugins/license/routes/getLicense.ts +15 -15
- package/src/plugins/license/routes/index.ts +4 -4
- package/src/plugins/license/routes/updateLicense.ts +15 -15
- package/src/plugins/mail/MailPlugin.ts +74 -74
- package/src/plugins/mail/MailPluginTypes.ts +27 -27
- package/src/plugins/mail/MailService.ts +38 -38
- package/src/plugins/mail/actionHandlers/index.ts +3 -3
- package/src/plugins/mail/models/index.ts +1 -1
- package/src/plugins/mail/routes/index.ts +1 -1
- package/src/plugins/metaManage/MetaManagePlugin.ts +198 -198
- package/src/plugins/metaManage/actionHandlers/getMetaModelDetail.ts +10 -10
- package/src/plugins/metaManage/actionHandlers/listMetaModels.ts +9 -9
- package/src/plugins/metaManage/actionHandlers/listMetaRoutes.ts +9 -9
- package/src/plugins/metaManage/services/MetaService.ts +376 -376
- package/src/plugins/notification/NotificationPlugin.ts +68 -68
- package/src/plugins/notification/NotificationPluginTypes.ts +13 -13
- package/src/plugins/notification/NotificationService.ts +25 -25
- package/src/plugins/notification/actionHandlers/index.ts +3 -3
- package/src/plugins/notification/models/Notification.ts +60 -60
- package/src/plugins/notification/models/index.ts +3 -3
- package/src/plugins/notification/routes/index.ts +1 -1
- package/src/plugins/routeManage/RouteManagePlugin.ts +64 -64
- package/src/plugins/routeManage/actionHandlers/httpProxy.ts +13 -13
- package/src/plugins/routeManage/actionHandlers/mock.ts +28 -28
- package/src/plugins/sequence/SequencePlugin.ts +146 -146
- package/src/plugins/sequence/SequencePluginTypes.ts +69 -69
- package/src/plugins/sequence/SequenceService.ts +92 -92
- package/src/plugins/sequence/actionHandlers/generateSn.ts +32 -32
- package/src/plugins/sequence/actionHandlers/index.ts +4 -4
- package/src/plugins/sequence/models/SequenceAutoIncrementRecord.ts +49 -49
- package/src/plugins/sequence/models/SequenceRule.ts +42 -42
- package/src/plugins/sequence/models/index.ts +4 -4
- package/src/plugins/sequence/routes/generateSn.ts +15 -15
- package/src/plugins/sequence/routes/index.ts +3 -3
- package/src/plugins/sequence/segment-utility.ts +11 -11
- package/src/plugins/sequence/segments/autoIncrement.ts +90 -90
- package/src/plugins/sequence/segments/dayOfMonth.ts +19 -19
- package/src/plugins/sequence/segments/index.ts +9 -9
- package/src/plugins/sequence/segments/literal.ts +16 -16
- package/src/plugins/sequence/segments/month.ts +19 -19
- package/src/plugins/sequence/segments/parameter.ts +20 -20
- package/src/plugins/sequence/segments/year.ts +19 -19
- package/src/plugins/serverOperation/ServerOperationPlugin.ts +91 -91
- package/src/plugins/serverOperation/ServerOperationPluginTypes.ts +15 -15
- package/src/plugins/serverOperation/actionHandlers/index.ts +4 -4
- package/src/plugins/serverOperation/actionHandlers/runServerOperation.ts +15 -15
- package/src/plugins/setting/SettingPlugin.ts +68 -68
- package/src/plugins/setting/SettingPluginTypes.ts +37 -37
- package/src/plugins/setting/SettingService.ts +213 -213
- package/src/plugins/setting/actionHandlers/getSystemSettingValues.ts +30 -30
- package/src/plugins/setting/actionHandlers/getUserSettingValues.ts +38 -38
- package/src/plugins/setting/actionHandlers/index.ts +6 -6
- package/src/plugins/setting/actionHandlers/setSystemSettingValues.ts +30 -30
- package/src/plugins/setting/models/SystemSettingGroupSetting.ts +57 -57
- package/src/plugins/setting/models/SystemSettingItem.ts +48 -48
- package/src/plugins/setting/models/SystemSettingItemSetting.ts +73 -73
- package/src/plugins/setting/models/UserSettingGroupSetting.ts +57 -57
- package/src/plugins/setting/models/UserSettingItem.ts +55 -55
- package/src/plugins/setting/models/UserSettingItemSetting.ts +73 -73
- package/src/plugins/setting/models/index.ts +8 -8
- package/src/plugins/setting/routes/getSystemSettingValues.ts +15 -15
- package/src/plugins/setting/routes/getUserSettingValues.ts +15 -15
- package/src/plugins/setting/routes/index.ts +5 -5
- package/src/plugins/setting/routes/setSystemSettingValues.ts +15 -15
- package/src/plugins/stateMachine/StateMachinePlugin.ts +196 -196
- package/src/plugins/stateMachine/StateMachinePluginTypes.ts +48 -48
- package/src/plugins/stateMachine/actionHandlers/index.ts +4 -4
- package/src/plugins/stateMachine/actionHandlers/sendStateMachineEvent.ts +54 -54
- package/src/plugins/stateMachine/models/StateMachine.ts +42 -42
- package/src/plugins/stateMachine/models/index.ts +3 -3
- package/src/plugins/stateMachine/routes/index.ts +3 -3
- package/src/plugins/stateMachine/routes/sendStateMachineEvent.ts +15 -15
- package/src/plugins/stateMachine/stateMachineHelper.ts +36 -36
- package/src/plugins/webhooks/WebhooksPlugin.ts +148 -148
- package/src/plugins/webhooks/pluginConfig.ts +75 -75
- package/src/polyfill.ts +5 -5
- package/src/proxy/mod.ts +38 -38
- package/src/proxy/types.ts +21 -21
- package/src/queryBuilder/index.ts +1 -1
- package/src/queryBuilder/queryBuilder.ts +755 -755
- package/src/server.ts +530 -530
- package/src/types/cron-job-types.ts +66 -66
- package/src/types.ts +856 -856
- package/src/utilities/accessControlUtility.ts +33 -33
- package/src/utilities/entityUtility.ts +18 -18
- package/src/utilities/errorUtility.ts +15 -15
- package/src/utilities/fsUtility.ts +137 -137
- package/src/utilities/httpUtility.ts +19 -19
- package/src/utilities/jwtUtility.ts +26 -26
- package/src/utilities/passwordUtility.ts +26 -26
- package/src/utilities/pathUtility.ts +14 -14
- package/src/utilities/timeUtility.ts +17 -17
- package/src/utilities/typeUtility.ts +15 -15
- package/tsconfig.json +19 -19
package/CHANGELOG.md
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
# @ruiapp/rapid-core
|
|
2
|
-
|
|
3
|
-
## 0.7.0
|
|
4
|
-
|
|
5
|
-
- feature: added server.registerCronJob to allow plugins register cron jobs.
|
|
6
|
-
|
|
7
|
-
## 0.2.4
|
|
8
|
-
|
|
9
|
-
### Patch Changes
|
|
10
|
-
|
|
11
|
-
- 146a99d: add between filterMode, range is deprecated
|
|
1
|
+
# @ruiapp/rapid-core
|
|
2
|
+
|
|
3
|
+
## 0.7.0
|
|
4
|
+
|
|
5
|
+
- feature: added server.registerCronJob to allow plugins register cron jobs.
|
|
6
|
+
|
|
7
|
+
## 0.2.4
|
|
8
|
+
|
|
9
|
+
### Patch Changes
|
|
10
|
+
|
|
11
|
+
- 146a99d: add between filterMode, range is deprecated
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { IRpdServer } from "../core/server";
|
|
2
|
-
import { RpdDataModel } from "../types";
|
|
3
|
-
export declare function detectChangedFieldsOfEntity(server: IRpdServer, model: RpdDataModel, before: any, after: any): Record<string, any> | null;
|
|
2
|
+
import { RpdDataModel, UpdateEntityByIdOptions } from "../types";
|
|
3
|
+
export declare function detectChangedFieldsOfEntity(server: IRpdServer, model: RpdDataModel, before: any, after: any, relationPropertiesToUpdate: UpdateEntityByIdOptions["relationPropertiesToUpdate"]): Record<string, any> | null;
|
package/dist/index.js
CHANGED
|
@@ -2246,7 +2246,7 @@ function mapPropertyNameToColumnName(server, model, propertyName) {
|
|
|
2246
2246
|
return property.columnName || property.code;
|
|
2247
2247
|
}
|
|
2248
2248
|
|
|
2249
|
-
function detectChangedFieldsOfEntity(server, model, before, after) {
|
|
2249
|
+
function detectChangedFieldsOfEntity(server, model, before, after, relationPropertiesToUpdate) {
|
|
2250
2250
|
if (!before) {
|
|
2251
2251
|
throw new Error("Argument 'before' can not be null.");
|
|
2252
2252
|
}
|
|
@@ -2261,6 +2261,11 @@ function detectChangedFieldsOfEntity(server, model, before, after) {
|
|
|
2261
2261
|
const afterValue = after[key];
|
|
2262
2262
|
const beforeValue = before[key] || before[property.targetIdColumnName];
|
|
2263
2263
|
if (afterValue) {
|
|
2264
|
+
if (relationPropertiesToUpdate && relationPropertiesToUpdate[property.code]) {
|
|
2265
|
+
changed = true;
|
|
2266
|
+
changes[key] = afterValue;
|
|
2267
|
+
continue;
|
|
2268
|
+
}
|
|
2264
2269
|
if (lodash.isNumber(afterValue)) {
|
|
2265
2270
|
if (beforeValue) {
|
|
2266
2271
|
if (lodash.isNumber(beforeValue)) {
|
|
@@ -2863,8 +2868,8 @@ async function findManyRelationLinksViaLinkTable(options) {
|
|
|
2863
2868
|
const command = `SELECT * FROM ${server.queryBuilder.quoteTable({
|
|
2864
2869
|
schema: relationProperty.linkSchema,
|
|
2865
2870
|
tableName: relationProperty.linkTableName,
|
|
2866
|
-
})} WHERE ${server.queryBuilder.quoteObject(relationProperty.selfIdColumnName)} = ANY($1::int[])
|
|
2867
|
-
ORDER BY id
|
|
2871
|
+
})} WHERE ${server.queryBuilder.quoteObject(relationProperty.selfIdColumnName)} = ANY($1::int[])
|
|
2872
|
+
ORDER BY id
|
|
2868
2873
|
`;
|
|
2869
2874
|
const params = [mainEntityIds];
|
|
2870
2875
|
const relationLinks = await server.queryDatabaseObject(command, params, routeContext?.getDbTransactionClient());
|
|
@@ -3251,7 +3256,7 @@ async function updateEntityById(server, dataAccessor, options, plugin) {
|
|
|
3251
3256
|
if (!entity) {
|
|
3252
3257
|
throw new Error(`${model.namespace}.${model.singularCode} with id "${id}" was not found.`);
|
|
3253
3258
|
}
|
|
3254
|
-
let changes = detectChangedFieldsOfEntity(server, model, entity, entityToSave);
|
|
3259
|
+
let changes = detectChangedFieldsOfEntity(server, model, entity, entityToSave, options.relationPropertiesToUpdate);
|
|
3255
3260
|
if (!changes && !options.operation) {
|
|
3256
3261
|
return entity;
|
|
3257
3262
|
}
|
|
@@ -3281,7 +3286,7 @@ async function updateEntityById(server, dataAccessor, options, plugin) {
|
|
|
3281
3286
|
sender: plugin,
|
|
3282
3287
|
routeContext: options.routeContext,
|
|
3283
3288
|
});
|
|
3284
|
-
changes = detectChangedFieldsOfEntity(server, model, entity, entityToSave);
|
|
3289
|
+
changes = detectChangedFieldsOfEntity(server, model, entity, entityToSave, options.relationPropertiesToUpdate);
|
|
3285
3290
|
// check readonly properties
|
|
3286
3291
|
Object.keys(changes).forEach((propertyName) => {
|
|
3287
3292
|
let isReadonlyProperty = false;
|
|
@@ -3495,7 +3500,7 @@ async function updateEntityById(server, dataAccessor, options, plugin) {
|
|
|
3495
3500
|
await server.queryDatabaseObject(`DELETE FROM ${server.queryBuilder.quoteTable({
|
|
3496
3501
|
schema: property.linkSchema,
|
|
3497
3502
|
tableName: property.linkTableName,
|
|
3498
|
-
})} WHERE ${server.queryBuilder.quoteObject(property.selfIdColumnName)} = $1
|
|
3503
|
+
})} WHERE ${server.queryBuilder.quoteObject(property.selfIdColumnName)} = $1
|
|
3499
3504
|
AND ${server.queryBuilder.quoteObject(property.targetIdColumnName)} <> ALL($2::int[])`, [id, targetIdsToKeep], routeContext?.getDbTransactionClient());
|
|
3500
3505
|
}
|
|
3501
3506
|
else {
|
|
@@ -3524,8 +3529,8 @@ async function updateEntityById(server, dataAccessor, options, plugin) {
|
|
|
3524
3529
|
await server.queryDatabaseObject(`UPDATE ${server.queryBuilder.quoteTable({
|
|
3525
3530
|
schema: relationModel.schema,
|
|
3526
3531
|
tableName: relationModel.tableName,
|
|
3527
|
-
})}
|
|
3528
|
-
SET ${server.queryBuilder.quoteObject(property.selfIdColumnName)} = null
|
|
3532
|
+
})}
|
|
3533
|
+
SET ${server.queryBuilder.quoteObject(property.selfIdColumnName)} = null
|
|
3529
3534
|
WHERE id = ANY($1::int[])`, [targetIdsToRemove], routeContext?.getDbTransactionClient());
|
|
3530
3535
|
}
|
|
3531
3536
|
else {
|
|
@@ -3810,7 +3815,7 @@ async function deleteEntityById(server, dataAccessor, options, plugin) {
|
|
|
3810
3815
|
await server.queryDatabaseObject(`DELETE FROM ${server.queryBuilder.quoteTable({
|
|
3811
3816
|
schema: relationProperty.linkSchema,
|
|
3812
3817
|
tableName: relationProperty.linkTableName,
|
|
3813
|
-
})}
|
|
3818
|
+
})}
|
|
3814
3819
|
WHERE ${server.queryBuilder.quoteObject(relationProperty.selfIdColumnName)} = $1`, [id], routeContext?.getDbTransactionClient());
|
|
3815
3820
|
}
|
|
3816
3821
|
else {
|
|
@@ -3820,8 +3825,8 @@ async function deleteEntityById(server, dataAccessor, options, plugin) {
|
|
|
3820
3825
|
await server.queryDatabaseObject(`UPDATE ${server.queryBuilder.quoteTable({
|
|
3821
3826
|
schema: relationModel.schema,
|
|
3822
3827
|
tableName: relationModel.tableName,
|
|
3823
|
-
})}
|
|
3824
|
-
SET ${server.queryBuilder.quoteObject(relationProperty.selfIdColumnName)} = null
|
|
3828
|
+
})}
|
|
3829
|
+
SET ${server.queryBuilder.quoteObject(relationProperty.selfIdColumnName)} = null
|
|
3825
3830
|
WHERE ${server.queryBuilder.quoteObject(relationProperty.selfIdColumnName)} = $1`, [id], routeContext?.getDbTransactionClient());
|
|
3826
3831
|
}
|
|
3827
3832
|
}
|
|
@@ -3918,11 +3923,11 @@ class EntityManager {
|
|
|
3918
3923
|
const command = `INSERT INTO ${queryBuilder.quoteTable({
|
|
3919
3924
|
schema: relationProperty.linkSchema,
|
|
3920
3925
|
tableName: relationProperty.linkTableName,
|
|
3921
|
-
})} (${queryBuilder.quoteObject(relationProperty.selfIdColumnName)}, ${queryBuilder.quoteObject(relationProperty.targetIdColumnName)})
|
|
3922
|
-
SELECT $1, $2 WHERE NOT EXISTS (
|
|
3923
|
-
SELECT ${queryBuilder.quoteObject(relationProperty.selfIdColumnName)}, ${queryBuilder.quoteObject(relationProperty.targetIdColumnName)}
|
|
3924
|
-
FROM ${queryBuilder.quoteTable({ schema: relationProperty.linkSchema, tableName: relationProperty.linkTableName })}
|
|
3925
|
-
WHERE ${queryBuilder.quoteObject(relationProperty.selfIdColumnName)}=$1 AND ${queryBuilder.quoteObject(relationProperty.targetIdColumnName)}=$2
|
|
3926
|
+
})} (${queryBuilder.quoteObject(relationProperty.selfIdColumnName)}, ${queryBuilder.quoteObject(relationProperty.targetIdColumnName)})
|
|
3927
|
+
SELECT $1, $2 WHERE NOT EXISTS (
|
|
3928
|
+
SELECT ${queryBuilder.quoteObject(relationProperty.selfIdColumnName)}, ${queryBuilder.quoteObject(relationProperty.targetIdColumnName)}
|
|
3929
|
+
FROM ${queryBuilder.quoteTable({ schema: relationProperty.linkSchema, tableName: relationProperty.linkTableName })}
|
|
3930
|
+
WHERE ${queryBuilder.quoteObject(relationProperty.selfIdColumnName)}=$1 AND ${queryBuilder.quoteObject(relationProperty.targetIdColumnName)}=$2
|
|
3926
3931
|
)`;
|
|
3927
3932
|
const params = [id, relation.id];
|
|
3928
3933
|
await server.queryDatabaseObject(command, params, routeContext?.getDbTransactionClient());
|
|
@@ -3962,7 +3967,7 @@ class EntityManager {
|
|
|
3962
3967
|
const { queryBuilder } = server;
|
|
3963
3968
|
if (relationProperty.linkTableName) {
|
|
3964
3969
|
for (const relation of relations) {
|
|
3965
|
-
const command = `DELETE FROM ${queryBuilder.quoteTable({ schema: relationProperty.linkSchema, tableName: relationProperty.linkTableName })}
|
|
3970
|
+
const command = `DELETE FROM ${queryBuilder.quoteTable({ schema: relationProperty.linkSchema, tableName: relationProperty.linkTableName })}
|
|
3966
3971
|
WHERE ${queryBuilder.quoteObject(relationProperty.selfIdColumnName)}=$1 AND ${queryBuilder.quoteObject(relationProperty.targetIdColumnName)}=$2;`;
|
|
3967
3972
|
const params = [id, relation.id];
|
|
3968
3973
|
await server.queryDatabaseObject(command, params, routeContext?.getDbTransactionClient());
|
|
@@ -5593,9 +5598,9 @@ class MetaService {
|
|
|
5593
5598
|
await server.tryQueryDatabaseObject(`COMMENT ON TABLE ${queryBuilder.quoteTable(model)} IS ${queryBuilder.formatValueToSqlLiteral(model.name)};`, []);
|
|
5594
5599
|
}
|
|
5595
5600
|
}
|
|
5596
|
-
const sqlQueryColumnInformations = `SELECT c.table_schema, c.table_name, c.column_name, c.ordinal_position, d.description, c.data_type, c.udt_name, c.is_nullable, c.column_default, c.character_maximum_length, c.numeric_precision, c.numeric_scale
|
|
5597
|
-
FROM information_schema.columns c
|
|
5598
|
-
INNER JOIN pg_catalog.pg_statio_all_tables st ON (st.schemaname = c.table_schema and st.relname = c.table_name)
|
|
5601
|
+
const sqlQueryColumnInformations = `SELECT c.table_schema, c.table_name, c.column_name, c.ordinal_position, d.description, c.data_type, c.udt_name, c.is_nullable, c.column_default, c.character_maximum_length, c.numeric_precision, c.numeric_scale
|
|
5602
|
+
FROM information_schema.columns c
|
|
5603
|
+
INNER JOIN pg_catalog.pg_statio_all_tables st ON (st.schemaname = c.table_schema and st.relname = c.table_name)
|
|
5599
5604
|
LEFT JOIN pg_catalog.pg_description d ON (d.objoid = st.relid and d.objsubid = c.ordinal_position);`;
|
|
5600
5605
|
const columnsInDb = await server.queryDatabaseObject(sqlQueryColumnInformations, []);
|
|
5601
5606
|
for (const model of applicationConfig.models) {
|
|
@@ -9758,9 +9763,9 @@ class EntityAccessControlPlugin {
|
|
|
9758
9763
|
if (!userId) {
|
|
9759
9764
|
return;
|
|
9760
9765
|
}
|
|
9761
|
-
const actions = await server.queryDatabaseObject(`select distinct a.* from sys_actions a
|
|
9762
|
-
inner join oc_role_sys_action_links ra on a.id = ra.action_id
|
|
9763
|
-
inner join oc_role_user_links ru on ru.role_id = ra.role_id
|
|
9766
|
+
const actions = await server.queryDatabaseObject(`select distinct a.* from sys_actions a
|
|
9767
|
+
inner join oc_role_sys_action_links ra on a.id = ra.action_id
|
|
9768
|
+
inner join oc_role_user_links ru on ru.role_id = ra.role_id
|
|
9764
9769
|
where ru.user_id = $1;`, [userId]);
|
|
9765
9770
|
routeContext.state.allowedActions = actions.map((item) => item.code);
|
|
9766
9771
|
}
|
package/package.json
CHANGED
package/rollup.config.js
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import typescript from "rollup-plugin-typescript2";
|
|
2
|
-
import tscAlias from "rollup-plugin-tsc-alias";
|
|
3
|
-
|
|
4
|
-
export default {
|
|
5
|
-
input: ["src/index.ts"],
|
|
6
|
-
output: [
|
|
7
|
-
{
|
|
8
|
-
dir: "dist",
|
|
9
|
-
entryFileNames: "[name].js",
|
|
10
|
-
format: "cjs",
|
|
11
|
-
exports: "named",
|
|
12
|
-
},
|
|
13
|
-
],
|
|
14
|
-
plugins: [typescript(), tscAlias()],
|
|
15
|
-
external: [],
|
|
16
|
-
};
|
|
1
|
+
import typescript from "rollup-plugin-typescript2";
|
|
2
|
+
import tscAlias from "rollup-plugin-tsc-alias";
|
|
3
|
+
|
|
4
|
+
export default {
|
|
5
|
+
input: ["src/index.ts"],
|
|
6
|
+
output: [
|
|
7
|
+
{
|
|
8
|
+
dir: "dist",
|
|
9
|
+
entryFileNames: "[name].js",
|
|
10
|
+
format: "cjs",
|
|
11
|
+
exports: "named",
|
|
12
|
+
},
|
|
13
|
+
],
|
|
14
|
+
plugins: [typescript(), tscAlias()],
|
|
15
|
+
external: [],
|
|
16
|
+
};
|