From 897be7c881586e57610a0e75b7a6a7de36e7cdbc Mon Sep 17 00:00:00 2001 From: HiranyaKavishani Date: Fri, 6 Dec 2024 18:16:51 +0530 Subject: [PATCH] Scripts related to org feature --- .../src/main/resources/sql/db2.sql | 15 ++++++++++ .../src/main/resources/sql/mssql.sql | 14 ++++++++++ .../src/main/resources/sql/mysql.sql | 16 +++++++++++ .../src/main/resources/sql/oracle_23c.sql | 25 +++++++++++++++++ .../src/main/resources/sql/oracle_rac.sql | 28 +++++++++++++++++++ .../src/main/resources/sql/postgresql.sql | 15 ++++++++++ 6 files changed, 113 insertions(+) diff --git a/features/apimgt/org.wso2.carbon.apimgt.core.feature/src/main/resources/sql/db2.sql b/features/apimgt/org.wso2.carbon.apimgt.core.feature/src/main/resources/sql/db2.sql index 18f79845fdb9..cc0a0a8641a0 100644 --- a/features/apimgt/org.wso2.carbon.apimgt.core.feature/src/main/resources/sql/db2.sql +++ b/features/apimgt/org.wso2.carbon.apimgt.core.feature/src/main/resources/sql/db2.sql @@ -2297,6 +2297,7 @@ CREATE TABLE AM_APPLICATION ( UUID VARCHAR(256), TOKEN_TYPE VARCHAR(100), ORGANIZATION VARCHAR(100) NOT NULL, + SHARED_ORGANIZATION VARCHAR(100), FOREIGN KEY(SUBSCRIBER_ID) REFERENCES AM_SUBSCRIBER(SUBSCRIBER_ID) ON DELETE RESTRICT, PRIMARY KEY(APPLICATION_ID), UNIQUE (NAME,SUBSCRIBER_ID,ORGANIZATION) @@ -2751,6 +2752,13 @@ CREATE TABLE AM_POLICY_GLOBAL ( UNIQUE (UUID) )/ +CREATE TABLE AM_POLICY_ALLOWED_ORGS ( + ALLOWED_ORGS_ID INT GENERATED ALWAYS AS IDENTITY + (START WITH 1 INCREMENT BY 1) PRIMARY KEY, + POLICY_UUID VARCHAR(50) NOT NULL, + ALLOWED_ORGANIZATIONS VARCHAR(50) NOT NULL +)/ + CREATE TABLE AM_THROTTLE_TIER_PERMISSIONS ( THROTTLE_TIER_PERMISSIONS_ID INT NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 1 INCREMENT BY 1), TIER VARCHAR(50) NULL, @@ -2888,6 +2896,13 @@ CREATE TABLE AM_KEY_MANAGER_PERMISSIONS ( ) / +CREATE TABLE AM_KEY_MANAGER_ALLOWED_ORGS ( + KEY_MANAGER_UUID VARCHAR(50) NOT NULL, + ALLOWED_ORGANIZATIONS VARCHAR(50) NOT NULL, + PRIMARY KEY (KEY_MANAGER_UUID, ALLOWED_ORGANIZATIONS), + FOREIGN KEY (KEY_MANAGER_UUID) REFERENCES AM_KEY_MANAGER(UUID) ON DELETE CASCADE +); + CREATE TABLE AM_API_CATEGORIES ( UUID VARCHAR(50) NOT NULL, NAME VARCHAR(255) NOT NULL, diff --git a/features/apimgt/org.wso2.carbon.apimgt.core.feature/src/main/resources/sql/mssql.sql b/features/apimgt/org.wso2.carbon.apimgt.core.feature/src/main/resources/sql/mssql.sql index 2f4e61448898..f30840903a48 100644 --- a/features/apimgt/org.wso2.carbon.apimgt.core.feature/src/main/resources/sql/mssql.sql +++ b/features/apimgt/org.wso2.carbon.apimgt.core.feature/src/main/resources/sql/mssql.sql @@ -1693,6 +1693,7 @@ CREATE TABLE AM_APPLICATION ( UUID VARCHAR(256), TOKEN_TYPE VARCHAR(10), ORGANIZATION VARCHAR(100), + SHARED_ORGANIZATION VARCHAR(100), FOREIGN KEY(SUBSCRIBER_ID) REFERENCES AM_SUBSCRIBER(SUBSCRIBER_ID) ON UPDATE CASCADE, PRIMARY KEY(APPLICATION_ID), UNIQUE (NAME,SUBSCRIBER_ID,ORGANIZATION), @@ -2219,6 +2220,12 @@ CREATE TABLE AM_POLICY_GLOBAL ( UNIQUE (UUID) ); +CREATE TABLE AM_POLICY_ALLOWED_ORGS ( + ALLOWED_ORGS_ID INT IDENTITY(1,1) PRIMARY KEY, + POLICY_UUID VARCHAR(50) NOT NULL, + ALLOWED_ORGANIZATIONS VARCHAR(50) NOT NULL +); + IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[AM_THROTTLE_TIER_PERMISSIONS]') AND TYPE IN (N'U')) CREATE TABLE AM_THROTTLE_TIER_PERMISSIONS ( THROTTLE_TIER_PERMISSIONS_ID INTEGER IDENTITY(1,1), @@ -2377,6 +2384,13 @@ CREATE TABLE AM_KEY_MANAGER_PERMISSIONS ( FOREIGN KEY (KEY_MANAGER_UUID) REFERENCES AM_KEY_MANAGER(UUID) ON DELETE CASCADE ); +CREATE TABLE AM_KEY_MANAGER_ALLOWED_ORGS ( + KEY_MANAGER_UUID VARCHAR(50) NOT NULL, + ALLOWED_ORGANIZATIONS VARCHAR(50) NOT NULL, + PRIMARY KEY (KEY_MANAGER_UUID, ALLOWED_ORGANIZATIONS), + FOREIGN KEY (KEY_MANAGER_UUID) REFERENCES AM_KEY_MANAGER(UUID) ON DELETE CASCADE +); + IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[AM_GW_PUBLISHED_API_DETAILS]') AND TYPE IN (N'U')) CREATE TABLE AM_GW_PUBLISHED_API_DETAILS ( API_ID varchar(255) NOT NULL, diff --git a/features/apimgt/org.wso2.carbon.apimgt.core.feature/src/main/resources/sql/mysql.sql b/features/apimgt/org.wso2.carbon.apimgt.core.feature/src/main/resources/sql/mysql.sql index d13ac6b10ca9..4f1770cf67be 100644 --- a/features/apimgt/org.wso2.carbon.apimgt.core.feature/src/main/resources/sql/mysql.sql +++ b/features/apimgt/org.wso2.carbon.apimgt.core.feature/src/main/resources/sql/mysql.sql @@ -1944,6 +1944,14 @@ CREATE TABLE IF NOT EXISTS AM_POLICY_GLOBAL ( UNIQUE (UUID) )ENGINE INNODB; + +CREATE TABLE IF NOT EXISTS AM_POLICY_ALLOWED_ORGS ( + ALLOWED_ORGS_ID INT NOT NULL AUTO_INCREMENT, + POLICY_UUID VARCHAR(50) NOT NULL, + ALLOWED_ORGANIZATIONS VARCHAR(50) NOT NULL, + PRIMARY KEY (ALLOWED_ORGS_ID) +) ENGINE INNODB; + CREATE TABLE IF NOT EXISTS AM_THROTTLE_TIER_PERMISSIONS ( THROTTLE_TIER_PERMISSIONS_ID INT NOT NULL AUTO_INCREMENT, TIER VARCHAR(50) NULL, @@ -2180,6 +2188,14 @@ CREATE TABLE IF NOT EXISTS AM_KEY_MANAGER_PERMISSIONS ( FOREIGN KEY (KEY_MANAGER_UUID) REFERENCES AM_KEY_MANAGER(UUID) ON DELETE CASCADE ); +CREATE TABLE IF NOT EXISTS AM_KEY_MANAGER_ALLOWED_ORGS ( + KEY_MANAGER_UUID VARCHAR(50) NOT NULL, + ALLOWED_ORGANIZATIONS VARCHAR(50) NOT NULL, + PRIMARY KEY (KEY_MANAGER_UUID, ALLOWED_ORGANIZATIONS), + FOREIGN KEY (KEY_MANAGER_UUID) REFERENCES AM_KEY_MANAGER(UUID) ON DELETE CASCADE +); + + -- AM_GW_PUBLISHED_API_DETAILS & AM_GW_API_ARTIFACTS are independent tables for Artifact synchronizer feature which -- -- should not have any referential integrity constraints with other tables in AM database-- CREATE TABLE IF NOT EXISTS AM_GW_PUBLISHED_API_DETAILS ( diff --git a/features/apimgt/org.wso2.carbon.apimgt.core.feature/src/main/resources/sql/oracle_23c.sql b/features/apimgt/org.wso2.carbon.apimgt.core.feature/src/main/resources/sql/oracle_23c.sql index 59046ee60d45..e5b2787b0b5a 100644 --- a/features/apimgt/org.wso2.carbon.apimgt.core.feature/src/main/resources/sql/oracle_23c.sql +++ b/features/apimgt/org.wso2.carbon.apimgt.core.feature/src/main/resources/sql/oracle_23c.sql @@ -2412,6 +2412,7 @@ CREATE TABLE AM_APPLICATION ( UUID VARCHAR2(256), TOKEN_TYPE VARCHAR2(100), ORGANIZATION VARCHAR(100), + SHARED_ORGANIZATION VARCHAR(100), FOREIGN KEY(SUBSCRIBER_ID) REFERENCES AM_SUBSCRIBER(SUBSCRIBER_ID) ON DELETE CASCADE, PRIMARY KEY(APPLICATION_ID), UNIQUE (NAME,SUBSCRIBER_ID,ORGANIZATION), @@ -3181,6 +3182,22 @@ BEGIN END; / +CREATE SEQUENCE AM_POLICY_ALLOWED_ORGS_SEQ START WITH 1 INCREMENT BY 1; + +CREATE TABLE AM_POLICY_ALLOWED_ORGS ( + ALLOWED_ORGS_ID NUMBER PRIMARY KEY, + POLICY_UUID VARCHAR2(50) NOT NULL, + ALLOWED_ORGANIZATIONS VARCHAR2(50) NOT NULL +); + +CREATE OR REPLACE TRIGGER AM_POLICY_ALLOWED_ORGS_TRG + BEFORE INSERT ON AM_POLICY_ALLOWED_ORGS + FOR EACH ROW +BEGIN + :NEW.ALLOWED_ORGS_ID := AM_POLICY_ALLOWED_ORGS_SEQ.NEXTVAL; +END; +/ + CREATE TABLE AM_THROTTLE_TIER_PERMISSIONS ( THROTTLE_TIER_PERMISSIONS_ID INTEGER NOT NULL, TIER VARCHAR2(50) NULL, @@ -3382,6 +3399,14 @@ CREATE TABLE AM_KEY_MANAGER_PERMISSIONS ( ) / +CREATE TABLE AM_KEY_MANAGER_ALLOWED_ORGS ( + KEY_MANAGER_UUID VARCHAR(50) NOT NULL, + ALLOWED_ORGANIZATIONS VARCHAR(50) NOT NULL, + PRIMARY KEY (KEY_MANAGER_UUID, ALLOWED_ORGANIZATIONS), + FOREIGN KEY (KEY_MANAGER_UUID) REFERENCES AM_KEY_MANAGER(UUID) ON DELETE CASCADE +) + / + -- AM_GW_PUBLISHED_API_DETAILS & AM_GW_API_ARTIFACTS are independent tables for Artifact synchronizer feature which -- -- should not have any referential integrity constraints with other tables in AM database-- diff --git a/features/apimgt/org.wso2.carbon.apimgt.core.feature/src/main/resources/sql/oracle_rac.sql b/features/apimgt/org.wso2.carbon.apimgt.core.feature/src/main/resources/sql/oracle_rac.sql index 304e8bcb1ac6..9a5ebb5a140e 100644 --- a/features/apimgt/org.wso2.carbon.apimgt.core.feature/src/main/resources/sql/oracle_rac.sql +++ b/features/apimgt/org.wso2.carbon.apimgt.core.feature/src/main/resources/sql/oracle_rac.sql @@ -2402,6 +2402,7 @@ CREATE TABLE AM_APPLICATION ( UUID VARCHAR2(256), TOKEN_TYPE VARCHAR2(100), ORGANIZATION VARCHAR(100), + SHARED_ORGANIZATION VARCHAR(100), FOREIGN KEY(SUBSCRIBER_ID) REFERENCES AM_SUBSCRIBER(SUBSCRIBER_ID) ON DELETE CASCADE, PRIMARY KEY(APPLICATION_ID), UNIQUE (NAME,SUBSCRIBER_ID,ORGANIZATION), @@ -3155,6 +3156,25 @@ BEGIN END; / +CREATE SEQUENCE AM_POLICY_ALLOWED_ORGS_SEQ + START WITH 1 + INCREMENT BY 1 + NOCACHE; + +CREATE TABLE AM_POLICY_ALLOWED_ORGS ( + ALLOWED_ORGS_ID NUMBER PRIMARY KEY, + POLICY_UUID VARCHAR2(50) NOT NULL, + ALLOWED_ORGANIZATIONS VARCHAR2(50) NOT NULL +); + +CREATE OR REPLACE TRIGGER AM_POLICY_ALLOWED_ORGS_TRG + BEFORE INSERT ON AM_POLICY_ALLOWED_ORGS + FOR EACH ROW +BEGIN + :NEW.ALLOWED_ORGS_ID := AM_POLICY_ALLOWED_ORGS_SEQ.NEXTVAL; +END; +/ + CREATE TABLE AM_THROTTLE_TIER_PERMISSIONS ( THROTTLE_TIER_PERMISSIONS_ID INTEGER NOT NULL, TIER VARCHAR2(50) NULL, @@ -3355,6 +3375,14 @@ CREATE TABLE AM_KEY_MANAGER_PERMISSIONS ( ) / +CREATE TABLE AM_KEY_MANAGER_ALLOWED_ORGS ( + KEY_MANAGER_UUID VARCHAR(50) NOT NULL, + ALLOWED_ORGANIZATIONS VARCHAR(50) NOT NULL, + PRIMARY KEY (KEY_MANAGER_UUID, ALLOWED_ORGANIZATIONS), + FOREIGN KEY (KEY_MANAGER_UUID) REFERENCES AM_KEY_MANAGER(UUID) ON DELETE CASCADE +) + / + -- AM_GW_PUBLISHED_API_DETAILS & AM_GW_API_ARTIFACTS are independent tables for Artifact synchronizer feature which -- -- should not have any referential integrity constraints with other tables in AM database-- CREATE TABLE AM_GW_PUBLISHED_API_DETAILS ( diff --git a/features/apimgt/org.wso2.carbon.apimgt.core.feature/src/main/resources/sql/postgresql.sql b/features/apimgt/org.wso2.carbon.apimgt.core.feature/src/main/resources/sql/postgresql.sql index 8f741c079bf5..4043d574facc 100644 --- a/features/apimgt/org.wso2.carbon.apimgt.core.feature/src/main/resources/sql/postgresql.sql +++ b/features/apimgt/org.wso2.carbon.apimgt.core.feature/src/main/resources/sql/postgresql.sql @@ -1816,6 +1816,7 @@ CREATE TABLE IF NOT EXISTS AM_APPLICATION ( UUID VARCHAR(256), TOKEN_TYPE VARCHAR(10), ORGANIZATION VARCHAR(100), + SHARED_ORGANIZATION VARCHAR(100), FOREIGN KEY(SUBSCRIBER_ID) REFERENCES AM_SUBSCRIBER(SUBSCRIBER_ID) ON UPDATE CASCADE ON DELETE RESTRICT, PRIMARY KEY(APPLICATION_ID), UNIQUE (NAME,SUBSCRIBER_ID,ORGANIZATION), @@ -2306,6 +2307,13 @@ CREATE TABLE IF NOT EXISTS AM_POLICY_GLOBAL ( UNIQUE (UUID) ); +CREATE TABLE IF NOT EXISTS AM_POLICY_ALLOWED_ORGS ( + ALLOWED_ORGS_ID SERIAL PRIMARY KEY, + POLICY_UUID VARCHAR(50) NOT NULL, + ALLOWED_ORGANIZATIONS VARCHAR(50) NOT NULL + ); + + CREATE SEQUENCE AM_THROTTLE_TIER_PERMISSIONS_SEQ START WITH 1 INCREMENT BY 1; CREATE TABLE IF NOT EXISTS AM_THROTTLE_TIER_PERMISSIONS ( THROTTLE_TIER_PERMISSIONS_ID INTEGER DEFAULT NEXTVAL('AM_THROTTLE_TIER_PERMISSIONS_SEQ'), @@ -2466,6 +2474,13 @@ CREATE TABLE IF NOT EXISTS AM_KEY_MANAGER_PERMISSIONS ( FOREIGN KEY (KEY_MANAGER_UUID) REFERENCES AM_KEY_MANAGER(UUID) ON DELETE CASCADE ); +CREATE TABLE IF NOT EXISTS AM_KEY_MANAGER_ALLOWED_ORGS ( + KEY_MANAGER_UUID VARCHAR(50) NOT NULL, + ALLOWED_ORGANIZATIONS VARCHAR(50) NOT NULL, + PRIMARY KEY (KEY_MANAGER_UUID, ALLOWED_ORGANIZATIONS), + FOREIGN KEY (KEY_MANAGER_UUID) REFERENCES AM_KEY_MANAGER(UUID) ON DELETE CASCADE +); + -- AM_GW_PUBLISHED_API_DETAILS & AM_GW_API_ARTIFACTS are independent tables for Artifact synchronizer feature which -- -- should not have any referential integrity constraints with other tables in AM database-- DROP TABLE IF EXISTS AM_GW_PUBLISHED_API_DETAILS;