diff --git a/Install/Sql/MsSQL/Migrations/1.26/20250318_1509_01_NEW_user_employee_id.sql b/Install/Sql/MsSQL/Migrations/1.26/20250318_1509_01_NEW_user_employee_id.sql new file mode 100644 index 000000000..4ed3da424 --- /dev/null +++ b/Install/Sql/MsSQL/Migrations/1.26/20250318_1509_01_NEW_user_employee_id.sql @@ -0,0 +1,7 @@ +-- UP +IF COL_LENGTH('dbo.exf_user','employee_id') IS NULL +ALTER TABLE [dbo].[exf_user] ADD [employee_id] nvarchar(50) NULL; + +-- DOWN +IF COL_LENGTH('dbo.exf_user','employee_id') IS NOT NULL +ALTER TABLE [dbo].[exf_user] DROP COLUMN [employee_id]; \ No newline at end of file diff --git a/Install/Sql/MsSQL/Migrations/1.26/20250320_0936_01_NEW_rp_role_attribute.sql b/Install/Sql/MsSQL/Migrations/1.26/20250320_0936_01_NEW_rp_role_attribute.sql new file mode 100644 index 000000000..893d1928c --- /dev/null +++ b/Install/Sql/MsSQL/Migrations/1.26/20250320_0936_01_NEW_rp_role_attribute.sql @@ -0,0 +1,21 @@ +-- UP + +CREATE TABLE dbo.rp_role_attribute ( + oid BINARY(16) NOT NULL, + created_on DATETIME NOT NULL, + modified_on DATETIME NOT NULL, + created_by_user_oid BINARY(16) NOT NULL, + modified_by_user_oid BINARY(16) NOT NULL, + name NVARCHAR(50) COLLATE Latin1_General_CI_AI NOT NULL, + hint NVARCHAR(200) COLLATE Latin1_General_CI_AI NULL, + type NVARCHAR(50) COLLATE Latin1_General_CI_AI NOT NULL, + json_property NVARCHAR(50) COLLATE Latin1_General_CI_AI NOT NULL, + app_oid BINARY(16) NULL, + required tinyint NOT NULL, + display_order tinyint NOT NULL, + CONSTRAINT PK_rp_role_attribute PRIMARY KEY (oid) +); + +-- DOWN + +-- DO NOT drop tables with potential content! \ No newline at end of file diff --git a/Install/Sql/MsSQL/Migrations/1.26/20252003_0912_01_NEW_rp_role.sql b/Install/Sql/MsSQL/Migrations/1.26/20252003_0912_01_NEW_rp_role.sql new file mode 100644 index 000000000..19187f453 --- /dev/null +++ b/Install/Sql/MsSQL/Migrations/1.26/20252003_0912_01_NEW_rp_role.sql @@ -0,0 +1,28 @@ +-- UP + +CREATE TABLE dbo.rp_role ( + oid BINARY(16) NOT NULL, + created_on DATETIME NOT NULL, + modified_on DATETIME NOT NULL, + created_by_user_oid BINARY(16) NOT NULL, + modified_by_user_oid BINARY(16) NOT NULL, + user_role_oid BINARY(16) NULL, + name NVARCHAR(50) COLLATE Latin1_General_CI_AI NOT NULL, + description NVARCHAR(400) COLLATE Latin1_General_CI_AI NULL, + external_role_alias NVARCHAR(50) COLLATE Latin1_General_CI_AI NULL, + external_role_name NVARCHAR(50) COLLATE Latin1_General_CI_AI NULL, + permissions_read NVARCHAR(max) COLLATE Latin1_General_CI_AI NULL, + permissions_write NVARCHAR(max) COLLATE Latin1_General_CI_AI NULL, + notifications NVARCHAR(max) COLLATE Latin1_General_CI_AI NULL, + comments NVARCHAR(max) COLLATE Latin1_General_CI_AI NULL, + status tinyint NOT NULL, + custom_attributes NVARCHAR(max) COLLATE Latin1_General_CI_AI NULL, + external_role_mapped_flag bit NULL, + external_role_sync_flag bit NULL, + app_oid BINARY(16) NULL, + CONSTRAINT PK_rp_role PRIMARY KEY (oid) +); + +-- DOWN + +-- DO NOT drop tables with potential content! \ No newline at end of file diff --git a/Install/Sql/MySQL/Migrations/1.26/20250318_1509_01_NEW_user_employee_id.sql b/Install/Sql/MySQL/Migrations/1.26/20250318_1509_01_NEW_user_employee_id.sql new file mode 100644 index 000000000..19f44518a --- /dev/null +++ b/Install/Sql/MySQL/Migrations/1.26/20250318_1509_01_NEW_user_employee_id.sql @@ -0,0 +1,5 @@ +-- UP +CALL execute_sql_on_missing_column('exf_user', 'employee_id', 'ALTER TABLE exf_user ADD COLUMN employee_id varchar(50) NULL'); + +-- DOWN +CALL execute_sql_on_existing_column('exf_user', 'employee_id', 'ALTER TABLE exf_user DROP COLUMN employee_id'); \ No newline at end of file diff --git a/Install/Sql/MySQL/Migrations/1.26/20250320_0931_01_NEW_rp_role_attribute.sql b/Install/Sql/MySQL/Migrations/1.26/20250320_0931_01_NEW_rp_role_attribute.sql new file mode 100644 index 000000000..fd7c3dc2b --- /dev/null +++ b/Install/Sql/MySQL/Migrations/1.26/20250320_0931_01_NEW_rp_role_attribute.sql @@ -0,0 +1,21 @@ +-- UP + +CREATE TABLE IF NOT EXISTS `rp_role_attribute` ( + `oid` binary(16) NOT NULL, + `created_on` datetime NOT NULL, + `modified_on` datetime NOT NULL, + `created_by_user_oid` binary(16) NOT NULL, + `modified_by_user_oid` binary(16) NOT NULL, + `name` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL, + `hint` varchar(200) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL, + `type` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL, + `json_property` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL, + `app_oid` binary(16) DEFAULT NULL, + `required` tinyint NOT NULL, + `display_order` tinyint DEFAULT NULL, + PRIMARY KEY (`oid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 ROW_FORMAT=DYNAMIC; + +-- DOWN + +-- DO NOT drop tables with potential content! \ No newline at end of file diff --git a/Install/Sql/MySQL/Migrations/1.26/20250320_921_01_NEW_rp_roles.sql b/Install/Sql/MySQL/Migrations/1.26/20250320_921_01_NEW_rp_roles.sql new file mode 100644 index 000000000..61cf7a817 --- /dev/null +++ b/Install/Sql/MySQL/Migrations/1.26/20250320_921_01_NEW_rp_roles.sql @@ -0,0 +1,28 @@ +-- UP + +CREATE TABLE IF NOT EXISTS `rp_role` ( + `oid` binary(16) NOT NULL, + `created_on` datetime NOT NULL, + `modified_on` datetime NOT NULL, + `created_by_user_oid` binary(16) NOT NULL, + `modified_by_user_oid` binary(16) NOT NULL, + `user_role_oid` binary(16) DEFAULT NULL, + `name` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL, + `description` varchar(400) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL, + `external_role_alias` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL, + `external_role_name` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL, + `permissions_read` varchar(max) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL, + `permissions_write` varchar(max) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL, + `notifications` varchar(max) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL, + `comments` varchar(max) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL, + `status` tinyint NOT NULL, + `custom_attributes` varchar(max) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL, + `external_role_mapped_flag` bit DEFAULT NULL, + `external_role_sync_flag` bit DEFAULT NULL, + `app_oid` binary(16) DEFAULT NULL, + PRIMARY KEY (`oid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 ROW_FORMAT=DYNAMIC; + +-- DOWN + +-- DO NOT drop tables with potential content! \ No newline at end of file diff --git a/Model/exface.Core.USER/02_OBJECT.json b/Model/exface.Core.USER/02_OBJECT.json index 47cfb5a3f..d9366ac31 100644 --- a/Model/exface.Core.USER/02_OBJECT.json +++ b/Model/exface.Core.USER/02_OBJECT.json @@ -87,9 +87,9 @@ { "_EXPORT_SUMMARY": "User [exface.Core.USER]", "CREATED_ON": "2007-01-01 00:00:00", - "MODIFIED_ON": "2025-01-15 18:19:53", + "MODIFIED_ON": "2025-03-18 14:23:15", "CREATED_BY_USER": "0x31000000000000000000000000000000", - "MODIFIED_BY_USER": "0x11e8fe1c902c8ebea23ee4b318306b9a", + "MODIFIED_BY_USER": "0x11efb9a9e2f873d6b9a9025041000001", "UID": "0x31343400000000000000000000000000", "READABLE_FLAG": 1, "WRITABLE_FLAG": 1, @@ -156,6 +156,9 @@ }, { "attribute_alias": "POSITION" + }, + { + "attribute_alias": "EMPLOYEE_ID" } ] }, diff --git a/Model/exface.Core.USER/04_ATTRIBUTE.json b/Model/exface.Core.USER/04_ATTRIBUTE.json index 23a47c182..f705b4da4 100644 --- a/Model/exface.Core.USER/04_ATTRIBUTE.json +++ b/Model/exface.Core.USER/04_ATTRIBUTE.json @@ -811,6 +811,53 @@ "DEFAULT_VALUE": "", "FIXED_VALUE": "", "CUSTOM_DATA_TYPE": null + }, + { + "_EXPORT_SUMMARY": "Employee ID [EMPLOYEE_ID]", + "CREATED_ON": "2025-03-18 14:22:30", + "MODIFIED_ON": "2025-03-18 14:23:01", + "CREATED_BY_USER": "0x11efb9a9e2f873d6b9a9025041000001", + "MODIFIED_BY_USER": "0x11efb9a9e2f873d6b9a9025041000001", + "UID": "0x11f0bb870b2069e2bb87025041000001", + "SORTABLEFLAG": 1, + "FILTERABLEFLAG": 1, + "AGGREGATABLEFLAG": 1, + "DEFAULT_AGGREGATE_FUNCTION": "", + "VALUE_LIST_DELIMITER": ",", + "READABLEFLAG": 1, + "WRITABLEFLAG": 1, + "SYSTEMFLAG": 0, + "DEFAULT_EDITOR_UXON": null, + "COPY_WITH_RELATED_OBJECT": 0, + "DELETE_WITH_RELATED_OBJECT": 0, + "DEFAULT_DISPLAY_UXON": null, + "COMMENTS": "", + "NAME": "Employee ID", + "RELATION_CARDINALITY": "", + "TYPE": "D", + "COPYABLEFLAG": 1, + "ALIAS": "EMPLOYEE_ID", + "DATATYPE": "0x30000000000000000000000000000000", + "DATA_ADDRESS": "employee_id", + "OBJECT": "0x31343400000000000000000000000000", + "FORMATTER": "", + "DISPLAYORDER": null, + "LABELFLAG": 0, + "UIDFLAG": 0, + "HIDDENFLAG": 0, + "EDITABLEFLAG": 1, + "REQUIREDFLAG": 0, + "RELATED_OBJ": null, + "SORTERPOS": null, + "SORTERDIR": "", + "RELATED_OBJ_ATTR": null, + "SHORT_DESCRIPTION": "", + "DATA_ADDRESS_PROPS": null, + "DEFAULT_VALUE": "", + "FIXED_VALUE": "", + "CUSTOM_DATA_TYPE": { + "length_max": 50 + } } ], "totals_rows": [],