Code development platform for open source projects from the European Union institutions :large_blue_circle: EU Login authentication by SMS will be completely phased out by mid-2025. To see alternatives please check here

Skip to content
Snippets Groups Projects
Commit dd392504 authored by Pawel GUTOWSKI's avatar Pawel GUTOWSKI
Browse files

EDELIVERY-1871 EDELIVERY-1893 Applied code review comment fixes

parent b60a5653
No related branches found
No related tags found
No related merge requests found
......@@ -10,19 +10,19 @@
-- See the Licence for the specific language governing permissions and limitations under the Licence.
CREATE TABLE smp_domain (
domainId VARCHAR(256)
domainId VARCHAR(50)
CHARACTER SET utf8
COLLATE utf8_bin NOT NULL,
bdmslClientCertHeader VARCHAR(4000)
CHARACTER SET utf8
COLLATE utf8_bin NULL,
bdmslClientCertAlias VARCHAR(256)
bdmslClientCertAlias VARCHAR(50)
CHARACTER SET utf8
COLLATE utf8_bin NULL,
bdmslSmpId VARCHAR(256)
bdmslSmpId VARCHAR(50)
CHARACTER SET utf8
COLLATE utf8_bin NOT NULL,
signatureCertAlias VARCHAR(256)
signatureCertAlias VARCHAR(50)
CHARACTER SET utf8
COLLATE utf8_bin NULL,
PRIMARY KEY(domainId)
......@@ -32,13 +32,13 @@ CREATE TABLE smp_domain (
CREATE TABLE smp_service_group (
businessIdentifier VARCHAR(256)
businessIdentifier VARCHAR(50)
CHARACTER SET utf8
COLLATE utf8_bin NOT NULL,
businessIdentifierScheme VARCHAR(256)
businessIdentifierScheme VARCHAR(100)
CHARACTER SET utf8
COLLATE utf8_bin NOT NULL,
domainId VARCHAR(256)
domainId VARCHAR(50)
CHARACTER SET utf8
COLLATE utf8_bin NOT NULL
DEFAULT 'default',
......@@ -52,16 +52,16 @@ CREATE TABLE smp_service_group (
CREATE TABLE smp_service_metadata (
documentIdentifier VARCHAR(256)
documentIdentifier VARCHAR(500)
CHARACTER SET utf8
COLLATE utf8_bin NOT NULL,
documentIdentifierScheme VARCHAR(256)
documentIdentifierScheme VARCHAR(100)
CHARACTER SET utf8
COLLATE utf8_bin NOT NULL,
businessIdentifier VARCHAR(256)
businessIdentifier VARCHAR(50)
CHARACTER SET utf8
COLLATE utf8_bin NOT NULL,
businessIdentifierScheme VARCHAR(256)
businessIdentifierScheme VARCHAR(100)
CHARACTER SET utf8
COLLATE utf8_bin NOT NULL,
xmlcontent TEXT,
......@@ -87,10 +87,10 @@ CREATE TABLE smp_user (
CREATE TABLE smp_ownership (
username VARCHAR(256) NOT NULL,
businessIdentifier VARCHAR(256)
businessIdentifier VARCHAR(50)
CHARACTER SET utf8
COLLATE utf8_bin NOT NULL,
businessIdentifierScheme VARCHAR(256)
businessIdentifierScheme VARCHAR(100)
CHARACTER SET utf8
COLLATE utf8_bin NOT NULL,
KEY FK_ownership_service_group (businessIdentifier, businessIdentifierScheme),
......@@ -107,59 +107,65 @@ CREATE TABLE smp_ownership (
DROP TRIGGER IF EXISTS smp_user_check_is_admin_value_before_insert;
DROP TRIGGER IF EXISTS smp_user_check_is_admin_value_before_update;
DELIMITER //
CREATE TRIGGER smp_user_check_is_admin_value_before_insert
BEFORE INSERT ON smp_user
FOR EACH ROW
BEGIN
IF NEW.ISADMIN <> 0 AND NEW.ISADMIN <> 1
DROP PROCEDURE IF EXISTS validate_new_user //
CREATE PROCEDURE validate_new_user (IN new_user_is_admin TINYINT(1))
BEGIN
IF new_user_is_admin <> 0 AND new_user_is_admin <> 1
THEN
SIGNAL SQLSTATE '99999'
SET MESSAGE_TEXT = '0 or 1 are the only allowed values for ISADMIN column';
END IF;
END //
CREATE TRIGGER smp_user_check_is_admin_value_before_update
BEFORE UPDATE ON smp_user
FOR EACH ROW
BEGIN
IF NEW.ISADMIN <> 0 AND NEW.ISADMIN <> 1
DROP PROCEDURE IF EXISTS validate_new_domain //
CREATE PROCEDURE validate_new_domain (IN new_bdmsl_client_cert_alias varchar(50), IN new_bdmsl_client_cert_header varchar(50))
BEGIN
IF ((new_bdmsl_client_cert_alias > '' OR new_bdmsl_client_cert_alias = null) AND (new_bdmsl_client_cert_header > '' OR new_bdmsl_client_cert_header = null))
THEN
SIGNAL SQLSTATE '99999'
SET MESSAGE_TEXT = '0 or 1 are the only allowed values for ISADMIN column';
SET MESSAGE_TEXT = 'Both BDMSL authentication ways cannot be switched ON at the same time: bdmslClientCertAlias and bdmslClientCertHeader';
END IF;
END //
DELIMITER ;
DROP TRIGGER IF EXISTS smp_domain_check_bdmsl_auth_before_insert;
DROP TRIGGER IF EXISTS smp_domain_check_bdmsl_auth_before_update;
DELIMITER //
DROP TRIGGER IF EXISTS smp_domain_check_bdmsl_auth_before_insert //
DROP TRIGGER IF EXISTS smp_domain_check_bdmsl_auth_before_update //
CREATE TRIGGER smp_domain_check_bdmsl_auth_before_update
BEFORE UPDATE ON smp_domain
FOR EACH ROW
BEGIN
call validate_new_domain(NEW.bdmslClientCertAlias, NEW.bdmslClientCertHeader);
END //
CREATE TRIGGER smp_domain_check_bdmsl_auth_before_insert
BEFORE INSERT ON smp_domain
FOR EACH ROW
BEGIN
IF ((NEW.bdmslClientCertAlias > '' OR NEW.bdmslClientCertAlias = null) AND (NEW.bdmslClientCertHeader > '' OR NEW.bdmslClientCertHeader = null))
THEN
SIGNAL SQLSTATE '99999'
SET MESSAGE_TEXT = 'Both BDMSL authentication ways cannot be switched ON at the same time: bdmslClientCertAlias and bdmslClientCertHeader';
END IF;
call validate_new_domain(NEW.bdmslClientCertAlias, NEW.bdmslClientCertHeader);
END //
CREATE TRIGGER smp_domain_check_bdmsl_auth_before_update
BEFORE UPDATE ON smp_domain
DROP TRIGGER IF EXISTS smp_user_check_is_admin_value_before_insert //
DROP TRIGGER IF EXISTS smp_user_check_is_admin_value_before_update //
CREATE TRIGGER smp_user_check_is_admin_value_before_insert
BEFORE INSERT ON smp_user
FOR EACH ROW
BEGIN
IF ((NEW.bdmslClientCertAlias > '' OR NEW.bdmslClientCertAlias = null) AND (NEW.bdmslClientCertHeader > '' OR NEW.bdmslClientCertHeader = null))
THEN
SIGNAL SQLSTATE '99999'
SET MESSAGE_TEXT = 'Both BDMSL authentication ways cannot be switched ON at the same time: bdmslClientCertAlias and bdmslClientCertHeader';
END IF;
call validate_new_user(NEW.ISADMIN);
END //
CREATE TRIGGER smp_user_check_is_admin_value_before_update
BEFORE UPDATE ON smp_user
FOR EACH ROW
BEGIN
call validate_new_user(NEW.ISADMIN);
END //
DELIMITER ;
INSERT INTO smp_domain(domainId, bdmslSmpId) VALUES('default', 'DEFAULT-SMP-ID');
-- default admin user with password "changeit"
INSERT INTO smp_user(username, password, isadmin) VALUES ('smp_admin', '$2a$10$SZXMo7K/wA.ULWxH7uximOxeNk4mf3zU6nxJx/2VfKA19QlqwSpNO', '1');
......
......@@ -11,19 +11,19 @@
CREATE TABLE smp_domain (
domainId VARCHAR(256)
domainId VARCHAR(50)
CHARACTER SET utf8
COLLATE utf8_bin NOT NULL,
bdmslClientCertHeader VARCHAR(4000)
CHARACTER SET utf8
COLLATE utf8_bin NULL,
bdmslClientCertAlias VARCHAR(256)
bdmslClientCertAlias VARCHAR(50)
CHARACTER SET utf8
COLLATE utf8_bin NULL,
bdmslSmpId VARCHAR(256)
bdmslSmpId VARCHAR(50)
CHARACTER SET utf8
COLLATE utf8_bin NOT NULL,
signatureCertAlias VARCHAR(256)
signatureCertAlias VARCHAR(50)
CHARACTER SET utf8
COLLATE utf8_bin NULL,
PRIMARY KEY(domainId)
......@@ -35,7 +35,7 @@ INSERT INTO smp_domain(domainId, bdmslSmpId) VALUES('default', 'DEFAULT-SMP-ID')
ALTER TABLE smp_service_group ADD
domainId VARCHAR(256)
domainId VARCHAR(50)
CHARACTER SET utf8
COLLATE utf8_bin NOT NULL
DEFAULT 'default';
......@@ -48,29 +48,61 @@ ALTER TABLE smp_service_group ADD
DROP TRIGGER IF EXISTS smp_domain_check_bdmsl_auth_before_insert;
DROP TRIGGER IF EXISTS smp_domain_check_bdmsl_auth_before_update;
DELIMITER //
CREATE TRIGGER smp_domain_check_bdmsl_auth_before_insert
BEFORE INSERT ON smp_domain
FOR EACH ROW
BEGIN
IF ((NEW.bdmslClientCertAlias > '' OR NEW.bdmslClientCertAlias = null) AND (NEW.bdmslClientCertHeader > '' OR NEW.bdmslClientCertHeader = null))
DROP PROCEDURE IF EXISTS validate_new_user //
CREATE PROCEDURE validate_new_user (IN new_user_is_admin TINYINT(1))
BEGIN
IF new_user_is_admin <> 0 AND new_user_is_admin <> 1
THEN
SIGNAL SQLSTATE '99999'
SET MESSAGE_TEXT = '0 or 1 are the only allowed values for ISADMIN column';
END IF;
END //
DROP PROCEDURE IF EXISTS validate_new_domain //
CREATE PROCEDURE validate_new_domain (IN new_bdmsl_client_cert_alias varchar(50), IN new_bdmsl_client_cert_header varchar(50))
BEGIN
IF ((new_bdmsl_client_cert_alias > '' OR new_bdmsl_client_cert_alias = null) AND (new_bdmsl_client_cert_header > '' OR new_bdmsl_client_cert_header = null))
THEN
SIGNAL SQLSTATE '99999'
SET MESSAGE_TEXT = 'Both BDMSL authentication ways cannot be switched ON at the same time: bdmslClientCertAlias and bdmslClientCertHeader';
END IF;
END //
DROP TRIGGER IF EXISTS smp_domain_check_bdmsl_auth_before_insert //
DROP TRIGGER IF EXISTS smp_domain_check_bdmsl_auth_before_update //
CREATE TRIGGER smp_domain_check_bdmsl_auth_before_update
BEFORE UPDATE ON smp_domain
FOR EACH ROW
BEGIN
IF ((NEW.bdmslClientCertAlias > '' OR NEW.bdmslClientCertAlias = null) AND (NEW.bdmslClientCertHeader > '' OR NEW.bdmslClientCertHeader = null))
THEN
SIGNAL SQLSTATE '99999'
SET MESSAGE_TEXT = 'Both BDMSL authentication ways cannot be switched ON at the same time: bdmslClientCertAlias and bdmslClientCertHeader';
END IF;
call validate_new_domain(NEW.bdmslClientCertAlias, NEW.bdmslClientCertHeader);
END //
CREATE TRIGGER smp_domain_check_bdmsl_auth_before_insert
BEFORE INSERT ON smp_domain
FOR EACH ROW
BEGIN
call validate_new_domain(NEW.bdmslClientCertAlias, NEW.bdmslClientCertHeader);
END //
DROP TRIGGER IF EXISTS smp_user_check_is_admin_value_before_insert //
DROP TRIGGER IF EXISTS smp_user_check_is_admin_value_before_update //
CREATE TRIGGER smp_user_check_is_admin_value_before_insert
BEFORE INSERT ON smp_user
FOR EACH ROW
BEGIN
call validate_new_user(NEW.ISADMIN);
END //
CREATE TRIGGER smp_user_check_is_admin_value_before_update
BEFORE UPDATE ON smp_user
FOR EACH ROW
BEGIN
call validate_new_user(NEW.ISADMIN);
END //
DELIMITER ;
......
......@@ -30,11 +30,11 @@ import static eu.europa.ec.edelivery.smp.data.model.CommonColumnsLengths.MAX_IDE
@Table(name = "smp_domain")
public class DBDomain implements Serializable{
String domainId;
String bdmslClientCertHeader;
String bdmslClientCertAlias;
String bdmslSmpId;
String signatureCertAlias;
private String domainId;
private String bdmslClientCertHeader;
private String bdmslClientCertAlias;
private String bdmslSmpId;
private String signatureCertAlias;
public DBDomain() {
}
......
......@@ -128,7 +128,7 @@ public class ServiceGroupServiceSingleDomainIntegrationTest extends AbstractServ
ServiceGroup newServiceGroup = unmarshal(loadDocumentAsString(SERVICE_GROUP_XML_PATH));
//when-then
serviceGroupService.saveServiceGroup(newServiceGroup,"NOT-EXISITING-DOMAIN", ADMIN_USERNAME);
serviceGroupService.saveServiceGroup(newServiceGroup,"NOT-EXISTING-DOMAIN", ADMIN_USERNAME);
}
}
-- Copyright 2018 European Commission | CEF eDelivery
--
-- Copyright 2017 European Commission | CEF eDelivery
--
-- Licensed under the EUPL, Version 1.1 or – as soon they will be approved by the European Commission - subsequent versions of the EUPL (the "Licence");
-- Licensed under the EUPL, Version 1.2 or – as soon they will be approved by the European Commission - subsequent versions of the EUPL (the "Licence");
-- You may not use this work except in compliance with the Licence.
--
-- You may obtain a copy of the Licence at:
-- https://joinup.ec.europa.eu/software/page/eupl
-- or file: LICENCE-EUPL-v1.1.pdf
-- You may obtain a copy of the Licence attached in file: LICENCE-EUPL-v1.2.pdf
--
-- Unless required by applicable law or agreed to in writing, software distributed under the Licence is distributed on an "AS IS" basis,
-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment