[OPB-25] implementation of FAQ commands

This commit is contained in:
Sheldan
2021-06-10 01:11:51 +02:00
parent 377b4ef478
commit f943247e7d
157 changed files with 5106 additions and 10 deletions

View File

@@ -0,0 +1,11 @@
<?xml version="1.1" encoding="UTF-8" standalone="no"?>
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext"
xmlns:pro="http://www.liquibase.org/xml/ns/pro"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog dbchangelog.xsd
http://www.liquibase.org/xml/ns/dbchangelog-ext dbchangelog.xsd
http://www.liquibase.org/xml/ns/pro dbchangelog.xsd" >
<include file="tables/tables.xml" relativeToChangelogFile="true"/>
<include file="seedData/data.xml" relativeToChangelogFile="true"/>
</databaseChangeLog>

View File

@@ -0,0 +1,16 @@
<?xml version="1.1" encoding="UTF-8" standalone="no"?>
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext"
xmlns:pro="http://www.liquibase.org/xml/ns/pro"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog dbchangelog.xsd
http://www.liquibase.org/xml/ns/dbchangelog-ext dbchangelog.xsd
http://www.liquibase.org/xml/ns/pro dbchangelog.xsd" >
<changeSet author="Sheldan" id="faq_channel_group_type-insertion">
<insert tableName="channel_group_type">
<column name="group_type_key" value="faq"/>
<column name="allows_channel_in_multiple" value="true"/>
<column name="allows_commands_in_multiple" value="false"/>
</insert>
</changeSet>
</databaseChangeLog>

View File

@@ -0,0 +1,43 @@
<?xml version="1.1" encoding="UTF-8" standalone="no"?>
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext"
xmlns:pro="http://www.liquibase.org/xml/ns/pro"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog dbchangelog.xsd
http://www.liquibase.org/xml/ns/dbchangelog-ext dbchangelog.xsd
http://www.liquibase.org/xml/ns/pro dbchangelog.xsd" >
<property name="faqFeature" value="(SELECT id FROM feature WHERE key = 'faq')"/>
<property name="faqModule" value="(SELECT id FROM module WHERE name = 'faqModule')"/>
<changeSet author="Sheldan" id="faq-commands" >
<insert tableName="command">
<column name="name" value="faq"/>
<column name="module_id" valueComputed="${faqModule}"/>
<column name="feature_id" valueComputed="${faqFeature}"/>
</insert>
<insert tableName="command">
<column name="name" value="importFAQ"/>
<column name="module_id" valueComputed="${faqModule}"/>
<column name="feature_id" valueComputed="${faqFeature}"/>
</insert>
<insert tableName="command">
<column name="name" value="deleteFAQ"/>
<column name="module_id" valueComputed="${faqModule}"/>
<column name="feature_id" valueComputed="${faqFeature}"/>
</insert>
<insert tableName="command">
<column name="name" value="exportFAQ"/>
<column name="module_id" valueComputed="${faqModule}"/>
<column name="feature_id" valueComputed="${faqFeature}"/>
</insert>
<insert tableName="command">
<column name="name" value="listFAQCommands"/>
<column name="module_id" valueComputed="${faqModule}"/>
<column name="feature_id" valueComputed="${faqFeature}"/>
</insert>
<insert tableName="command">
<column name="name" value="FAQUsage"/>
<column name="module_id" valueComputed="${faqModule}"/>
<column name="feature_id" valueComputed="${faqFeature}"/>
</insert>
</changeSet>
</databaseChangeLog>

View File

@@ -0,0 +1,13 @@
<?xml version="1.1" encoding="UTF-8" standalone="no"?>
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext"
xmlns:pro="http://www.liquibase.org/xml/ns/pro"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog dbchangelog.xsd
http://www.liquibase.org/xml/ns/dbchangelog-ext dbchangelog.xsd
http://www.liquibase.org/xml/ns/pro dbchangelog.xsd" >
<include file="feature.xml" relativeToChangelogFile="true"/>
<include file="module.xml" relativeToChangelogFile="true"/>
<include file="command.xml" relativeToChangelogFile="true"/>
<include file="channel_group_type.xml" relativeToChangelogFile="true"/>
</databaseChangeLog>

View File

@@ -0,0 +1,14 @@
<?xml version="1.1" encoding="UTF-8" standalone="no"?>
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext"
xmlns:pro="http://www.liquibase.org/xml/ns/pro"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog dbchangelog.xsd
http://www.liquibase.org/xml/ns/dbchangelog-ext dbchangelog.xsd
http://www.liquibase.org/xml/ns/pro dbchangelog.xsd" >
<changeSet author="Sheldan" id="faq_feature-insertion">
<insert tableName="feature">
<column name="key" value="faq"/>
</insert>
</changeSet>
</databaseChangeLog>

View File

@@ -0,0 +1,14 @@
<?xml version="1.1" encoding="UTF-8" standalone="no"?>
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext"
xmlns:pro="http://www.liquibase.org/xml/ns/pro"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog dbchangelog.xsd
http://www.liquibase.org/xml/ns/dbchangelog-ext dbchangelog.xsd
http://www.liquibase.org/xml/ns/pro dbchangelog.xsd" >
<changeSet author="Sheldan" id="faq-module-insertion">
<insert tableName="module">
<column name="name" value="faqModule"/>
</insert>
</changeSet>
</databaseChangeLog>

View File

@@ -0,0 +1,36 @@
<?xml version="1.1" encoding="UTF-8" standalone="no"?>
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext"
xmlns:pro="http://www.liquibase.org/xml/ns/pro"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog dbchangelog.xsd
http://www.liquibase.org/xml/ns/dbchangelog-ext dbchangelog.xsd
http://www.liquibase.org/xml/ns/pro dbchangelog.xsd" >
<changeSet author="Sheldan" id="faq_channel_group-table">
<createTable tableName="faq_channel_group">
<column name="id" type="BIGINT">
<constraints nullable="false" primaryKey="true" primaryKeyName="pk_faq_channel_group"/>
</column>
<column name="created" type="TIMESTAMP WITHOUT TIME ZONE">
<constraints nullable="false"/>
</column>
<column name="global" type="BOOLEAN">
<constraints nullable="false"/>
</column>
<column name="updated" type="TIMESTAMP WITHOUT TIME ZONE"/>
</createTable>
<addForeignKeyConstraint baseColumnNames="id" baseTableName="faq_channel_group" constraintName="fk_faq_channel_group_group"
deferrable="false" initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION"
referencedColumnNames="id" referencedTableName="channel_group" validate="true"/>
<sql>
DROP TRIGGER IF EXISTS faq_channel_group_update_trigger ON faq_channel_group;
CREATE TRIGGER faq_channel_group_update_trigger BEFORE UPDATE ON faq_channel_group FOR EACH ROW EXECUTE PROCEDURE update_trigger_procedure();
</sql>
<sql>
DROP TRIGGER IF EXISTS faq_channel_group_insert_trigger ON faq_channel_group;
CREATE TRIGGER faq_channel_group_insert_trigger BEFORE INSERT ON faq_channel_group FOR EACH ROW EXECUTE PROCEDURE insert_trigger_procedure();
</sql>
</changeSet>
</databaseChangeLog>

View File

@@ -0,0 +1,38 @@
<?xml version="1.1" encoding="UTF-8" standalone="no"?>
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext"
xmlns:pro="http://www.liquibase.org/xml/ns/pro"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog dbchangelog.xsd
http://www.liquibase.org/xml/ns/dbchangelog-ext dbchangelog.xsd
http://www.liquibase.org/xml/ns/pro dbchangelog.xsd" >
<changeSet author="Sheldan" id="faq_channel_group_command-table">
<createTable tableName="faq_channel_group_command">
<column name="channel_group_id" type="BIGINT">
<constraints nullable="false"/>
</column>
<column name="command_id" type="BIGINT">
<constraints nullable="false"/>
</column>
<column name="created" type="TIMESTAMP WITHOUT TIME ZONE">
<constraints nullable="false"/>
</column>
<column name="uses" type="INTEGER">
<constraints nullable="false"/>
</column>
<column name="updated" type="TIMESTAMP WITHOUT TIME ZONE"/>
</createTable>
<addPrimaryKey columnNames="channel_group_id, command_id" tableName="faq_channel_group_command" constraintName="pk_faq_channel_group_command" validate="true"/>
<addForeignKeyConstraint baseColumnNames="channel_group_id" baseTableName="faq_channel_group_command" constraintName="fk_faq_channel_group_command_channel_group"
deferrable="false" initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION"
referencedColumnNames="id" referencedTableName="faq_channel_group" validate="true"/>
<addForeignKeyConstraint baseColumnNames="command_id" baseTableName="faq_channel_group_command" constraintName="fk_faq_channel_group_command_faq_command"
deferrable="false" initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION"
referencedColumnNames="id" referencedTableName="faq_command" validate="true"/>
<sql>
DROP TRIGGER IF EXISTS faq_channel_group_command_insert_trigger ON faq_channel_group_command;
CREATE TRIGGER faq_channel_group_command_insert_trigger BEFORE INSERT ON faq_channel_group_command FOR EACH ROW EXECUTE PROCEDURE insert_trigger_procedure();
</sql>
</changeSet>
</databaseChangeLog>

View File

@@ -0,0 +1,45 @@
<?xml version="1.1" encoding="UTF-8" standalone="no"?>
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext"
xmlns:pro="http://www.liquibase.org/xml/ns/pro"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog dbchangelog.xsd
http://www.liquibase.org/xml/ns/dbchangelog-ext dbchangelog.xsd
http://www.liquibase.org/xml/ns/pro dbchangelog.xsd" >
<changeSet author="Sheldan" id="faq_command-table">
<createTable tableName="faq_command">
<column name="id" type="BIGINT" autoIncrement="true">
<constraints nullable="false" primaryKey="true" primaryKeyName="pk_faq_command"/>
</column>
<column name="created" type="TIMESTAMP WITHOUT TIME ZONE">
<constraints nullable="false"/>
</column>
<column name="name" type="VARCHAR(30)">
<constraints nullable="true"/>
</column>
<column name="global" type="BOOLEAN">
<constraints nullable="false"/>
</column>
<column name="server_id" type="BIGINT">
<constraints nullable="false"/>
</column>
<column name="updated" type="TIMESTAMP WITHOUT TIME ZONE"/>
</createTable>
<createIndex indexName="idx_faq_command_name" tableName="faq_command">
<column name="name"/>
<column name="server_id"/>
</createIndex>
<addForeignKeyConstraint baseColumnNames="server_id" baseTableName="faq_command" constraintName="fk_faq_command_server"
deferrable="false" initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="id"
referencedTableName="server" validate="true"/>
<sql>
DROP TRIGGER IF EXISTS faq_command_update_trigger ON faq_command;
CREATE TRIGGER faq_command_update_trigger BEFORE UPDATE ON faq_command FOR EACH ROW EXECUTE PROCEDURE update_trigger_procedure();
</sql>
<sql>
DROP TRIGGER IF EXISTS faq_command_insert_trigger ON faq_command;
CREATE TRIGGER faq_command_insert_trigger BEFORE INSERT ON faq_command FOR EACH ROW EXECUTE PROCEDURE insert_trigger_procedure();
</sql>
</changeSet>
</databaseChangeLog>

View File

@@ -0,0 +1,39 @@
<?xml version="1.1" encoding="UTF-8" standalone="no"?>
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext"
xmlns:pro="http://www.liquibase.org/xml/ns/pro"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog dbchangelog.xsd
http://www.liquibase.org/xml/ns/dbchangelog-ext dbchangelog.xsd
http://www.liquibase.org/xml/ns/pro dbchangelog.xsd" >
<changeSet author="Sheldan" id="faq_command_alias-table">
<createTable tableName="faq_command_alias">
<column name="command_id" type="BIGINT">
<constraints nullable="false" />
</column>
<column name="alias" type="VARCHAR(30)">
<constraints nullable="true"/>
</column>
<column name="created" type="TIMESTAMP WITHOUT TIME ZONE">
<constraints nullable="false"/>
</column>
</createTable>
<createIndex indexName="idx_faq_command_alias_name" tableName="faq_command_alias">
<column name="alias"/>
</createIndex>
<addPrimaryKey tableName="faq_command_alias" columnNames="command_id, alias" constraintName="pk_faq_command_alias"/>
<addForeignKeyConstraint baseColumnNames="command_id" baseTableName="faq_command_alias" constraintName="faq_command_alias_command"
deferrable="false" initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="id"
referencedTableName="faq_command" validate="true"/>
<sql>
DROP TRIGGER IF EXISTS faq_command_update_trigger ON faq_command;
CREATE TRIGGER faq_command_update_trigger BEFORE UPDATE ON faq_command FOR EACH ROW EXECUTE PROCEDURE update_trigger_procedure();
</sql>
<sql>
DROP TRIGGER IF EXISTS faq_command_alias_insert_trigger ON faq_command_alias;
CREATE TRIGGER faq_command_alias_insert_trigger BEFORE INSERT ON faq_command_alias FOR EACH ROW EXECUTE PROCEDURE insert_trigger_procedure();
</sql>
</changeSet>
</databaseChangeLog>

View File

@@ -0,0 +1,59 @@
<?xml version="1.1" encoding="UTF-8" standalone="no"?>
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext"
xmlns:pro="http://www.liquibase.org/xml/ns/pro"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog dbchangelog.xsd
http://www.liquibase.org/xml/ns/dbchangelog-ext dbchangelog.xsd
http://www.liquibase.org/xml/ns/pro dbchangelog.xsd" >
<changeSet author="Sheldan" id="faq_command_response-table">
<createTable tableName="faq_command_response">
<column name="created" type="TIMESTAMP WITHOUT TIME ZONE">
<constraints nullable="false"/>
</column>
<column name="description" type="VARCHAR(2000)">
<constraints nullable="true"/>
</column>
<column name="additional_message" type="VARCHAR(2000)">
<constraints nullable="true"/>
</column>
<column name="image_url" type="VARCHAR(2000)">
<constraints nullable="true"/>
</column>
<column name="red" type="INT" />
<column name="green" type="INT" />
<column name="blue" type="INT" />
<column name="author_user_id" type="BIGINT" />
<column name="position" type="INT">
<constraints nullable="false"/>
</column>
<column name="channel_group_id" type="BIGINT">
<constraints nullable="false"/>
</column>
<column name="command_id" type="BIGINT">
<constraints nullable="false"/>
</column>
<column name="updated" type="TIMESTAMP WITHOUT TIME ZONE"/>
</createTable>
<addPrimaryKey tableName="faq_command_response" columnNames="channel_group_id, command_id, position" constraintName="pk_faq_command_response"/>
<addForeignKeyConstraint baseColumnNames="channel_group_id" baseTableName="faq_channel_group_command" constraintName="fk_faq_command_response_faq_channel_group"
deferrable="false" initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION"
referencedColumnNames="id" referencedTableName="faq_channel_group" validate="true"/>
<addForeignKeyConstraint baseColumnNames="command_id" baseTableName="faq_channel_group_command" constraintName="fk_faq_command_response_faq_command"
deferrable="false" initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION"
referencedColumnNames="id" referencedTableName="faq_command" validate="true"/>
<createIndex indexName="idx_faq_command_response_group_command" tableName="faq_command_response">
<column name="command_id"/>
<column name="channel_group_id"/>
</createIndex>
<sql>
DROP TRIGGER IF EXISTS faq_command_response_update_trigger ON faq_command_response;
CREATE TRIGGER faq_command_response_update_trigger BEFORE UPDATE ON faq_command_response FOR EACH ROW EXECUTE PROCEDURE update_trigger_procedure();
</sql>
<sql>
DROP TRIGGER IF EXISTS faq_command_response_insert_trigger ON faq_command_response;
CREATE TRIGGER faq_command_response_insert_trigger BEFORE INSERT ON faq_command_response FOR EACH ROW EXECUTE PROCEDURE insert_trigger_procedure();
</sql>
</changeSet>
</databaseChangeLog>

View File

@@ -0,0 +1,14 @@
<?xml version="1.1" encoding="UTF-8" standalone="no"?>
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext"
xmlns:pro="http://www.liquibase.org/xml/ns/pro"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog dbchangelog.xsd
http://www.liquibase.org/xml/ns/dbchangelog-ext dbchangelog.xsd
http://www.liquibase.org/xml/ns/pro dbchangelog.xsd" >
<include file="faq_channel_group.xml" relativeToChangelogFile="true"/>
<include file="faq_command.xml" relativeToChangelogFile="true"/>
<include file="faq_command_alias.xml" relativeToChangelogFile="true"/>
<include file="faq_channel_group_command.xml" relativeToChangelogFile="true"/>
<include file="faq_command_response.xml" relativeToChangelogFile="true"/>
</databaseChangeLog>

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,10 @@
<?xml version="1.1" encoding="UTF-8" standalone="no"?>
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext"
xmlns:pro="http://www.liquibase.org/xml/ns/pro"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog dbchangelog.xsd
http://www.liquibase.org/xml/ns/dbchangelog-ext dbchangelog.xsd
http://www.liquibase.org/xml/ns/pro dbchangelog.xsd" >
<include file="1.4.4/collection.xml" relativeToChangelogFile="true"/>
</databaseChangeLog>