From d9b50d7cb8db5ab5ffbc9f338366ac46bc6f8bf6 Mon Sep 17 00:00:00 2001 From: Taras Dubyk Date: Fri, 4 Oct 2024 14:23:15 +0300 Subject: [PATCH] HCK-8237: field single PK and UK should be mutually exclusive (#122) * field single PK and UK should be mutually exclusive * adjust PK, UK dependencies for other field types * enable showing all abbreviations * adjust adapter version for the current plugin version --- adapter/0.2.14.json | 58 +++++ package.json | 3 +- .../field_level/fieldLevelConfig.json | 198 +++++++++++++++--- 3 files changed, 231 insertions(+), 28 deletions(-) create mode 100644 adapter/0.2.14.json diff --git a/adapter/0.2.14.json b/adapter/0.2.14.json new file mode 100644 index 0000000..000a685 --- /dev/null +++ b/adapter/0.2.14.json @@ -0,0 +1,58 @@ +/** + * Copyright © 2016-2018 by IntegrIT S.A. dba Hackolade. All rights reserved. + * + * The copyright to the computer software herein is the property of IntegrIT S.A. + * The software may be used and/or copied only with the written permission of + * IntegrIT S.A. or in accordance with the terms and conditions stipulated in + * the agreement/contract under which the software has been supplied. + * + * { + * "add": { + * "entity": [], + * "container": [], + * "model": [], + * "view": [], + * "field": { + * "": [] + * } + * }, + * "delete": { + * "entity": [], + * "container": [], + * "model": [], + * "view": [], + * "field": { + * "": [] + * } + * }, + * "modify": { + * "entity": [ + * { + * "from": { }, + * "to": { } + * } + * ], + * "container": [], + * "model": [], + * "view": [], + * "field": [] + * }, + * } + */ +{ + "add": {}, + "modify": { + "field": [ + { + "from": { + "primaryKey": true, + "unique": true + }, + "to": { + "unique": false + } + } + ] + }, + "delete": {} +} diff --git a/package.json b/package.json index b77b26c..8535ed5 100644 --- a/package.json +++ b/package.json @@ -49,7 +49,8 @@ }, "FEScriptCommentsSupported": true, "enableFetchSystemEntitiesCheckbox": true, - "discoverRelationships": true + "discoverRelationships": true, + "enableKeysMultipleAbrr": true } }, "description": "Hackolade plugin for PostgreSQL", diff --git a/properties_pane/field_level/fieldLevelConfig.json b/properties_pane/field_level/fieldLevelConfig.json index a994a5e..464b84e 100644 --- a/properties_pane/field_level/fieldLevelConfig.json +++ b/properties_pane/field_level/fieldLevelConfig.json @@ -421,6 +421,13 @@ making sure that you maintain a proper JSON format. ] } ] + }, + { + "type": "not", + "values": { + "key": "unique", + "value": true + } } ] } @@ -545,12 +552,21 @@ making sure that you maintain a proper JSON format. "type": "or", "values": [ { - "key": "compositePrimaryKey", - "value": false + "type": "or", + "values": [ + { + "key": "primaryKey", + "value": false + }, + { + "key": "primaryKey", + "exist": false + } + ] }, { "key": "compositePrimaryKey", - "exist": false + "value": true } ] }, @@ -990,6 +1006,13 @@ making sure that you maintain a proper JSON format. ] } ] + }, + { + "type": "not", + "values": { + "key": "unique", + "value": true + } } ] } @@ -1114,12 +1137,21 @@ making sure that you maintain a proper JSON format. "type": "or", "values": [ { - "key": "compositePrimaryKey", - "value": false + "type": "or", + "values": [ + { + "key": "primaryKey", + "value": false + }, + { + "key": "primaryKey", + "exist": false + } + ] }, { "key": "compositePrimaryKey", - "exist": false + "value": true } ] }, @@ -1520,6 +1552,13 @@ making sure that you maintain a proper JSON format. ] } ] + }, + { + "type": "not", + "values": { + "key": "unique", + "value": true + } } ] } @@ -1644,12 +1683,21 @@ making sure that you maintain a proper JSON format. "type": "or", "values": [ { - "key": "compositePrimaryKey", - "value": false + "type": "or", + "values": [ + { + "key": "primaryKey", + "value": false + }, + { + "key": "primaryKey", + "exist": false + } + ] }, { "key": "compositePrimaryKey", - "exist": false + "value": true } ] }, @@ -2089,6 +2137,13 @@ making sure that you maintain a proper JSON format. ] } ] + }, + { + "type": "not", + "values": { + "key": "unique", + "value": true + } } ] } @@ -2213,12 +2268,21 @@ making sure that you maintain a proper JSON format. "type": "or", "values": [ { - "key": "compositePrimaryKey", - "value": false + "type": "or", + "values": [ + { + "key": "primaryKey", + "value": false + }, + { + "key": "primaryKey", + "exist": false + } + ] }, { "key": "compositePrimaryKey", - "exist": false + "value": true } ] }, @@ -2715,6 +2779,13 @@ making sure that you maintain a proper JSON format. ] } ] + }, + { + "type": "not", + "values": { + "key": "unique", + "value": true + } } ] } @@ -2839,12 +2910,21 @@ making sure that you maintain a proper JSON format. "type": "or", "values": [ { - "key": "compositePrimaryKey", - "value": false + "type": "or", + "values": [ + { + "key": "primaryKey", + "value": false + }, + { + "key": "primaryKey", + "exist": false + } + ] }, { "key": "compositePrimaryKey", - "exist": false + "value": true } ] }, @@ -3251,6 +3331,13 @@ making sure that you maintain a proper JSON format. ] } ] + }, + { + "type": "not", + "values": { + "key": "unique", + "value": true + } } ] } @@ -3375,12 +3462,21 @@ making sure that you maintain a proper JSON format. "type": "or", "values": [ { - "key": "compositePrimaryKey", - "value": false + "type": "or", + "values": [ + { + "key": "primaryKey", + "value": false + }, + { + "key": "primaryKey", + "exist": false + } + ] }, { "key": "compositePrimaryKey", - "exist": false + "value": true } ] }, @@ -3946,6 +4042,13 @@ making sure that you maintain a proper JSON format. ] } ] + }, + { + "type": "not", + "values": { + "key": "unique", + "value": true + } } ] } @@ -4070,12 +4173,21 @@ making sure that you maintain a proper JSON format. "type": "or", "values": [ { - "key": "compositePrimaryKey", - "value": false + "type": "or", + "values": [ + { + "key": "primaryKey", + "value": false + }, + { + "key": "primaryKey", + "exist": false + } + ] }, { "key": "compositePrimaryKey", - "exist": false + "value": true } ] }, @@ -4462,6 +4574,13 @@ making sure that you maintain a proper JSON format. ] } ] + }, + { + "type": "not", + "values": { + "key": "unique", + "value": true + } } ] } @@ -4586,12 +4705,21 @@ making sure that you maintain a proper JSON format. "type": "or", "values": [ { - "key": "compositePrimaryKey", - "value": false + "type": "or", + "values": [ + { + "key": "primaryKey", + "value": false + }, + { + "key": "primaryKey", + "exist": false + } + ] }, { "key": "compositePrimaryKey", - "exist": false + "value": true } ] }, @@ -4999,6 +5127,13 @@ making sure that you maintain a proper JSON format. ] } ] + }, + { + "type": "not", + "values": { + "key": "unique", + "value": true + } } ] } @@ -5123,12 +5258,21 @@ making sure that you maintain a proper JSON format. "type": "or", "values": [ { - "key": "compositePrimaryKey", - "value": false + "type": "or", + "values": [ + { + "key": "primaryKey", + "value": false + }, + { + "key": "primaryKey", + "exist": false + } + ] }, { "key": "compositePrimaryKey", - "exist": false + "value": true } ] },