From feda6494b7dbdcf0b00dd42024d5e26bd71235ee Mon Sep 17 00:00:00 2001 From: Taras Dubyk Date: Thu, 3 Oct 2024 16:37:59 +0300 Subject: [PATCH] field single PK and UK should be mutually exclusive --- adapter/0.2.7.json | 58 +++++++ .../field_level/fieldLevelConfig.json | 154 +++++++++++++++--- 2 files changed, 191 insertions(+), 21 deletions(-) create mode 100644 adapter/0.2.7.json diff --git a/adapter/0.2.7.json b/adapter/0.2.7.json new file mode 100644 index 0000000..000a685 --- /dev/null +++ b/adapter/0.2.7.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/properties_pane/field_level/fieldLevelConfig.json b/properties_pane/field_level/fieldLevelConfig.json index d92c2c5..f642a5e 100644 --- a/properties_pane/field_level/fieldLevelConfig.json +++ b/properties_pane/field_level/fieldLevelConfig.json @@ -382,6 +382,13 @@ making sure that you maintain a proper JSON format. ] } ] + }, + { + "type": "not", + "values": { + "key": "unique", + "value": true + } } ] } @@ -445,12 +452,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 } ] }, @@ -807,6 +823,13 @@ making sure that you maintain a proper JSON format. ] } ] + }, + { + "type": "not", + "values": { + "key": "unique", + "value": true + } } ] } @@ -870,12 +893,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 } ] }, @@ -1161,6 +1193,13 @@ making sure that you maintain a proper JSON format. ] } ] + }, + { + "type": "not", + "values": { + "key": "unique", + "value": true + } } ] } @@ -1224,12 +1263,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 } ] }, @@ -1534,6 +1582,13 @@ making sure that you maintain a proper JSON format. ] } ] + }, + { + "type": "not", + "values": { + "key": "unique", + "value": true + } } ] } @@ -1597,12 +1652,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 } ] }, @@ -1903,6 +1967,13 @@ making sure that you maintain a proper JSON format. ] } ] + }, + { + "type": "not", + "values": { + "key": "unique", + "value": true + } } ] } @@ -1966,12 +2037,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 } ] }, @@ -2326,6 +2406,13 @@ making sure that you maintain a proper JSON format. ] } ] + }, + { + "type": "not", + "values": { + "key": "unique", + "value": true + } } ] } @@ -2389,12 +2476,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 } ] }, @@ -3236,6 +3332,13 @@ making sure that you maintain a proper JSON format. ] } ] + }, + { + "type": "not", + "values": { + "key": "unique", + "value": true + } } ] } @@ -3278,12 +3381,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 } ] },