- add all migration files for database
- npm updates
This commit is contained in:
parent
8a404e8a0c
commit
4abcfe7135
81
contracts/enums.ts
Normal file
81
contracts/enums.ts
Normal file
|
@ -0,0 +1,81 @@
|
|||
// ./contracts/enums.ts
|
||||
|
||||
export enum DatasetTypes {
|
||||
analysisdata = 'analysisdata',
|
||||
measurementdata = 'measurementdata',
|
||||
monitoring = 'monitoring',
|
||||
remotesensing = 'remotesensing',
|
||||
gis = 'gis',
|
||||
models = 'models',
|
||||
mixedtype = 'mixedtype',
|
||||
}
|
||||
|
||||
export enum ServerStates {
|
||||
deleted = 'deleted',
|
||||
inprogress = 'inprogress',
|
||||
published = 'published',
|
||||
released = 'released',
|
||||
editor_accepted = 'editor_accepted',
|
||||
approved = 'approved',
|
||||
rejected_reviewer = 'rejected_reviewer',
|
||||
rejected_editor = 'rejected_editor',
|
||||
reviewed = 'reviewed',
|
||||
}
|
||||
|
||||
// for table dataset_titles
|
||||
export enum TitleTypes {
|
||||
Main = 'Main',
|
||||
Sub = 'Sub',
|
||||
Alternative = 'Alternative',
|
||||
Translated = 'Translated',
|
||||
Other = 'Other',
|
||||
}
|
||||
|
||||
// for table dataset_abstracts
|
||||
export enum DescriptionTypes {
|
||||
abstract = 'Abstract',
|
||||
methods = 'Methods',
|
||||
series_information = 'Series_information',
|
||||
technical_info = 'Technical_info',
|
||||
translated = 'Translated',
|
||||
other = 'Other',
|
||||
}
|
||||
|
||||
export enum PersonNameTypes {
|
||||
Organizational = 'Organizational',
|
||||
Personal = 'Personal',
|
||||
}
|
||||
|
||||
export enum PersonRoles {
|
||||
author = 'author',
|
||||
contributor = 'contributor',
|
||||
other = 'other',
|
||||
}
|
||||
|
||||
export enum ContributorTypes {
|
||||
contact_person = 'ContactPerson',
|
||||
data_collector = 'DataCollector',
|
||||
data_curator = 'DataCurator',
|
||||
data_manager = 'DataManager',
|
||||
Distributor = 'Distributor',
|
||||
editor = 'Editor',
|
||||
hosting_institution = 'HostingInstitution',
|
||||
producer = 'Producer',
|
||||
poroject_leader = 'ProjectLeader',
|
||||
project_manager = 'ProjectManager',
|
||||
project_member = 'ProjectMember',
|
||||
registration_agency = 'RegistrationAgency',
|
||||
registration_authority = 'RegistrationAuthority',
|
||||
related_person = 'RelatedPerson',
|
||||
researcher = 'Researcher',
|
||||
research_group = 'ResearchGroup',
|
||||
rights_holder = 'RightsHolder',
|
||||
sponsor = 'Sponsor',
|
||||
supervisor = 'Supervisor',
|
||||
work_package_leader = 'WorkPackageLeader',
|
||||
other = 'Other',
|
||||
}
|
||||
|
||||
export enum SubjectTypes {
|
||||
uncontrolled = 'uncontrolled',
|
||||
}
|
|
@ -1,21 +1,16 @@
|
|||
import BaseSchema from '@ioc:Adonis/Lucid/Schema';
|
||||
import Config from '@ioc:Adonis/Core/Config';
|
||||
|
||||
export default class Roles extends BaseSchema {
|
||||
protected tableName = Config.get('rolePermission.role_table', 'roles');
|
||||
protected tableName = 'roles';
|
||||
|
||||
public async up() {
|
||||
this.schema.createTable(this.tableName, (table) => {
|
||||
table.increments('id');
|
||||
table.string('name', 191).unique();
|
||||
table.string('slug', 191).nullable().unique();
|
||||
table.string('description', 191).nullable();
|
||||
|
||||
/**
|
||||
* Uses timestamptz for PostgreSQL and DATETIME2 for MSSQL
|
||||
*/
|
||||
table.timestamp('created_at', { useTz: true }).nullable();
|
||||
table.timestamp('updated_at', { useTz: true }).nullable();
|
||||
table.increments('id').primary().defaultTo("nextval('roles_id_seq')");
|
||||
table.string('name', 255).notNullable();
|
||||
table.string('display_name', 255);
|
||||
table.string('description', 255);
|
||||
table.timestamp('created_at', { useTz: false }).nullable();
|
||||
table.timestamp('updated_at', { useTz: false }).nullable();
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -23,3 +18,19 @@ export default class Roles extends BaseSchema {
|
|||
this.schema.dropTable(this.tableName);
|
||||
}
|
||||
}
|
||||
|
||||
// CREATE TABLE IF NOT EXISTS roles
|
||||
// (
|
||||
// id integer NOT NULL DEFAULT nextval('roles_id_seq'::regclass),
|
||||
// name character varying(255) NOT NULL,
|
||||
// display_name character varying(255),
|
||||
// description character varying(255),
|
||||
// created_at timestamp(0) without time zone,
|
||||
// updated_at timestamp(0) without time zone,
|
||||
// CONSTRAINT roles_pkey PRIMARY KEY (id)
|
||||
// )
|
||||
// ALTER TABLE IF EXISTS roles
|
||||
// OWNER to tethys_admin;
|
||||
// REVOKE ALL ON TABLE roles FROM tethys_app;
|
||||
// GRANT ALL ON TABLE roles TO tethys_admin;
|
||||
// GRANT DELETE, UPDATE, INSERT, SELECT ON TABLE roles TO tethys_app;
|
||||
|
|
|
@ -1,25 +1,39 @@
|
|||
import BaseSchema from '@ioc:Adonis/Lucid/Schema'
|
||||
import Config from '@ioc:Adonis/Core/Config'
|
||||
import BaseSchema from '@ioc:Adonis/Lucid/Schema';
|
||||
|
||||
export default class Permissions extends BaseSchema {
|
||||
protected tableName = Config.get('rolePermission.permission_table', 'permissions')
|
||||
protected tableName = 'permissions';
|
||||
|
||||
public async up() {
|
||||
this.schema.createTable(this.tableName, (table) => {
|
||||
table.increments('id')
|
||||
table.string('name', 191).unique()
|
||||
table.string('slug', 191).nullable().unique()
|
||||
table.string('description', 191).nullable()
|
||||
public async up() {
|
||||
this.schema.createTable(this.tableName, (table) => {
|
||||
table.increments('id').primary().defaultTo("nextval('permissions_id_seq')");
|
||||
table.string('name', 255).unique().notNullable();
|
||||
table.string('display_name', 100).notNullable();
|
||||
table.string('description', 255);
|
||||
// table.timestamp('created_at');
|
||||
// table.timestamp('updated_at');
|
||||
table.timestamp('created_at', { useTz: false });
|
||||
table.timestamp('updated_at', { useTz: false });
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Uses timestamptz for PostgreSQL and DATETIME2 for MSSQL
|
||||
*/
|
||||
table.timestamp('created_at', { useTz: true }).nullable()
|
||||
table.timestamp('updated_at', { useTz: true }).nullable()
|
||||
})
|
||||
}
|
||||
|
||||
public async down() {
|
||||
this.schema.dropTable(this.tableName)
|
||||
}
|
||||
public async down() {
|
||||
this.schema.dropTableIfExists(this.tableName);
|
||||
}
|
||||
}
|
||||
|
||||
// CREATE TABLE IF NOT EXISTS permissions
|
||||
// (
|
||||
// id integer NOT NULL DEFAULT nextval('permissions_id_seq'::regclass),
|
||||
// name character varying(255) NOT NULL,
|
||||
// display_name character varying(100) NOT NULL,
|
||||
// description character varying(255),
|
||||
// created_at timestamp(0) without time zone,
|
||||
// updated_at timestamp(0) without time zone,
|
||||
// CONSTRAINT permissions_pkey PRIMARY KEY (id),
|
||||
// CONSTRAINT permissions_name_unique UNIQUE (name)
|
||||
// )
|
||||
// ALTER TABLE IF EXISTS permissions
|
||||
// OWNER to tethys_admin;
|
||||
// REVOKE ALL ON TABLE permissions FROM tethys_app;
|
||||
// GRANT ALL ON TABLE permissions TO tethys_admin;
|
||||
// GRANT DELETE, UPDATE, INSERT, SELECT ON TABLE permissions TO tethys_app;
|
||||
|
|
52
database/migrations/acl_3_role_has_permissions.ts
Normal file
52
database/migrations/acl_3_role_has_permissions.ts
Normal file
|
@ -0,0 +1,52 @@
|
|||
import BaseSchema from '@ioc:Adonis/Lucid/Schema';
|
||||
|
||||
export default class RoleHasPermissions extends BaseSchema {
|
||||
// protected tableName = Config.get('rolePermission.role_permission_table', 'role_permissions')
|
||||
protected tableName = 'role_has_permissions';
|
||||
|
||||
public async up() {
|
||||
this.schema.createTable(this.tableName, (table) => {
|
||||
// table.integer('permission_id').notNullable();
|
||||
// table.integer('role_id').notNullable();
|
||||
table.integer('permission_id').unsigned().index().notNullable();
|
||||
table
|
||||
.foreign('permission_id', 'role_has_permissions_permission_id_foreign')
|
||||
.references('id')
|
||||
.inTable('permissions')
|
||||
.onDelete('CASCADE') // delete this when permission is deleted
|
||||
.onUpdate('CASCADE');
|
||||
table.integer('role_id').unsigned().index().notNullable();
|
||||
table
|
||||
.foreign('role_id', 'role_has_permissions_role_id_foreign')
|
||||
.references('id')
|
||||
.inTable('roles')
|
||||
.onDelete('CASCADE') // delete this when role is deleted
|
||||
.onUpdate('CASCADE');
|
||||
table.primary(['permission_id', 'role_id']);
|
||||
});
|
||||
}
|
||||
|
||||
public async down() {
|
||||
this.schema.dropTable(this.tableName);
|
||||
}
|
||||
}
|
||||
|
||||
// CREATE TABLE IF NOT EXISTS role_has_permissions
|
||||
// (
|
||||
// permission_id integer NOT NULL,
|
||||
// role_id integer NOT NULL,
|
||||
// CONSTRAINT role_has_permissions_pkey PRIMARY KEY (permission_id, role_id),
|
||||
// CONSTRAINT role_has_permissions_permission_id_foreign FOREIGN KEY (permission_id)
|
||||
// REFERENCES permissions (id) MATCH SIMPLE
|
||||
// ON UPDATE CASCADE
|
||||
// ON DELETE CASCADE,
|
||||
// CONSTRAINT role_has_permissions_role_id_foreign FOREIGN KEY (role_id)
|
||||
// REFERENCES roles (id) MATCH SIMPLE
|
||||
// ON UPDATE CASCADE
|
||||
// ON DELETE CASCADE
|
||||
// )
|
||||
// ALTER TABLE IF EXISTS role_has_permissions
|
||||
// OWNER to tethys_admin;
|
||||
// REVOKE ALL ON TABLE role_has_permissions FROM tethys_app;
|
||||
// GRANT ALL ON TABLE role_has_permissions TO tethys_admin;
|
||||
// GRANT DELETE, INSERT, SELECT, UPDATE ON TABLE role_has_permissions TO tethys_app;
|
|
@ -1,32 +0,0 @@
|
|||
import BaseSchema from '@ioc:Adonis/Lucid/Schema'
|
||||
import Config from '@ioc:Adonis/Core/Config'
|
||||
|
||||
export default class RolePermissions extends BaseSchema {
|
||||
protected tableName = Config.get('rolePermission.role_permission_table', 'role_permissions')
|
||||
|
||||
public async up() {
|
||||
this.schema.createTable(this.tableName, (table) => {
|
||||
table.increments('id')
|
||||
table
|
||||
.integer('role_id')
|
||||
.unsigned()
|
||||
.references('id')
|
||||
.inTable(Config.get('rolePermission.role_table', 'roles'))
|
||||
table
|
||||
.integer('permission_id')
|
||||
.unsigned()
|
||||
.references('id')
|
||||
.inTable(Config.get('rolePermission.permission_table', 'permissions'))
|
||||
|
||||
/**
|
||||
* Uses timestamptz for PostgreSQL and DATETIME2 for MSSQL
|
||||
*/
|
||||
table.timestamp('created_at', { useTz: true }).nullable()
|
||||
table.timestamp('updated_at', { useTz: true }).nullable()
|
||||
})
|
||||
}
|
||||
|
||||
public async down() {
|
||||
this.schema.dropTable(this.tableName)
|
||||
}
|
||||
}
|
43
database/migrations/acl_4_accounts.ts
Normal file
43
database/migrations/acl_4_accounts.ts
Normal file
|
@ -0,0 +1,43 @@
|
|||
import BaseSchema from '@ioc:Adonis/Lucid/Schema';
|
||||
|
||||
export default class Accounts extends BaseSchema {
|
||||
protected tableName = 'accounts';
|
||||
|
||||
public async up() {
|
||||
this.schema.createTable(this.tableName, (table) => {
|
||||
table.increments('id').primary().defaultTo("nextval('accounts_id_seq')");
|
||||
table.string('login', 20).notNullable();
|
||||
table.string('password', 60).notNullable();
|
||||
table.string('email', 255).unique().notNullable();
|
||||
table.string('first_name', 255).nullable();
|
||||
table.string('last_name', 255).nullable();
|
||||
table.string('remember_token');
|
||||
table.timestamp('created_at');
|
||||
table.timestamp('updated_at');
|
||||
});
|
||||
}
|
||||
|
||||
public async down() {
|
||||
this.schema.dropTable(this.tableName);
|
||||
}
|
||||
}
|
||||
|
||||
// CREATE TABLE IF NOT EXISTS accounts
|
||||
// (
|
||||
// id integer NOT NULL DEFAULT nextval('accounts_id_seq'::regclass),
|
||||
// login character varying(20) NOT NULL,
|
||||
// password character varying(60) NOT NULL,
|
||||
// email character varying(255) NOT NULL,
|
||||
// first_name character varying(255),
|
||||
// last_name character varying(255),
|
||||
// remember_token character varying(100),
|
||||
// created_at timestamp(0) without time zone,
|
||||
// updated_at timestamp(0) without time zone,
|
||||
// CONSTRAINT accounts_pkey PRIMARY KEY (id),
|
||||
// CONSTRAINT accounts_email_unique UNIQUE (email)
|
||||
// )
|
||||
// ALTER TABLE IF EXISTS accounts
|
||||
// OWNER to tethys_admin;
|
||||
// REVOKE ALL ON TABLE accounts FROM tethys_app;
|
||||
// GRANT ALL ON TABLE accounts TO tethys_admin;
|
||||
// GRANT DELETE, UPDATE, INSERT, SELECT ON TABLE accounts TO tethys_app;
|
|
@ -1,32 +0,0 @@
|
|||
import BaseSchema from '@ioc:Adonis/Lucid/Schema'
|
||||
import Config from '@ioc:Adonis/Core/Config'
|
||||
|
||||
export default class UserPermissions extends BaseSchema {
|
||||
protected tableName = Config.get('rolePermission.user_permission_table', 'user_permissions')
|
||||
|
||||
public async up() {
|
||||
this.schema.createTable(this.tableName, (table) => {
|
||||
table.increments('id')
|
||||
table
|
||||
.integer('user_id')
|
||||
.unsigned()
|
||||
.references('id')
|
||||
.inTable(Config.get('rolePermission.user_table', 'users'))
|
||||
table
|
||||
.integer('permission_id')
|
||||
.unsigned()
|
||||
.references('id')
|
||||
.inTable(Config.get('rolePermission.permission_table', 'permissions'))
|
||||
|
||||
/**
|
||||
* Uses timestamptz for PostgreSQL and DATETIME2 for MSSQL
|
||||
*/
|
||||
table.timestamp('created_at', { useTz: true }).nullable()
|
||||
table.timestamp('updated_at', { useTz: true }).nullable()
|
||||
})
|
||||
}
|
||||
|
||||
public async down() {
|
||||
this.schema.dropTable(this.tableName)
|
||||
}
|
||||
}
|
52
database/migrations/acl_5_link_accounts_roles.ts
Normal file
52
database/migrations/acl_5_link_accounts_roles.ts
Normal file
|
@ -0,0 +1,52 @@
|
|||
import BaseSchema from '@ioc:Adonis/Lucid/Schema';
|
||||
|
||||
export default class LinkAccountsRoles extends BaseSchema {
|
||||
// protected tableName = Config.get('rolePermission.user_role_table', 'user_roles')
|
||||
protected tableName = 'link_accounts_roles';
|
||||
|
||||
public async up() {
|
||||
this.schema.createTable(this.tableName, (table) => {
|
||||
table.integer('account_id').index().unsigned().notNullable();
|
||||
table
|
||||
.foreign('account_id', 'link_accounts_roles_account_id_foreign')
|
||||
.references('id')
|
||||
.inTable('accounts')
|
||||
// .inTable(Config.get('rolePermission.user_table', 'users'))
|
||||
.onDelete('CASCADE') // delete this when account is delete
|
||||
.onUpdate('CASCADE');
|
||||
table.integer('role_id').index().unsigned().notNullable();
|
||||
table
|
||||
.foreign('role_id', 'link_accounts_roles_role_id_foreign')
|
||||
.references('id')
|
||||
.inTable('roles')
|
||||
// .inTable(Config.get('rolePermission.role_table', 'roles'))
|
||||
.onDelete('CASCADE') // delete this when account is delete
|
||||
.onUpdate('CASCADE');
|
||||
table.primary(['account_id', 'role_id']);
|
||||
});
|
||||
}
|
||||
|
||||
public async down() {
|
||||
this.schema.dropTable(this.tableName);
|
||||
}
|
||||
}
|
||||
|
||||
// CREATE TABLE IF NOT EXISTS link_accounts_roles
|
||||
// (
|
||||
// account_id integer NOT NULL,
|
||||
// role_id integer NOT NULL,
|
||||
// CONSTRAINT link_accounts_roles_pkey PRIMARY KEY (account_id, role_id),
|
||||
// CONSTRAINT link_accounts_roles_account_id_foreign FOREIGN KEY (account_id)
|
||||
// REFERENCES accounts (id) MATCH SIMPLE
|
||||
// ON UPDATE CASCADE
|
||||
// ON DELETE CASCADE,
|
||||
// CONSTRAINT link_accounts_roles_role_id_foreign FOREIGN KEY (role_id)
|
||||
// REFERENCES roles (id) MATCH SIMPLE
|
||||
// ON UPDATE CASCADE
|
||||
// ON DELETE CASCADE
|
||||
// )
|
||||
// ALTER TABLE IF EXISTS link_accounts_roles
|
||||
// OWNER to tethys_admin;
|
||||
// REVOKE ALL ON TABLE link_accounts_roles FROM tethys_app;
|
||||
// GRANT ALL ON TABLE link_accounts_roles TO tethys_admin;
|
||||
// GRANT DELETE, INSERT, SELECT, UPDATE ON TABLE link_accounts_roles TO tethys_app;
|
|
@ -1,32 +0,0 @@
|
|||
import BaseSchema from '@ioc:Adonis/Lucid/Schema'
|
||||
import Config from '@ioc:Adonis/Core/Config'
|
||||
|
||||
export default class UserRoles extends BaseSchema {
|
||||
protected tableName = Config.get('rolePermission.user_role_table', 'user_roles')
|
||||
|
||||
public async up() {
|
||||
this.schema.createTable(this.tableName, (table) => {
|
||||
table.increments('id')
|
||||
table
|
||||
.integer('user_id')
|
||||
.unsigned()
|
||||
.references('id')
|
||||
.inTable(Config.get('rolePermission.user_table', 'users'))
|
||||
table
|
||||
.integer('role_id')
|
||||
.unsigned()
|
||||
.references('id')
|
||||
.inTable(Config.get('rolePermission.role_table', 'roles'))
|
||||
|
||||
/**
|
||||
* Uses timestamptz for PostgreSQL and DATETIME2 for MSSQL
|
||||
*/
|
||||
table.timestamp('created_at', { useTz: true }).nullable()
|
||||
table.timestamp('updated_at', { useTz: true }).nullable()
|
||||
})
|
||||
}
|
||||
|
||||
public async down() {
|
||||
this.schema.dropTable(this.tableName)
|
||||
}
|
||||
}
|
80
database/migrations/dataset_10_link_documents_persons.ts
Normal file
80
database/migrations/dataset_10_link_documents_persons.ts
Normal file
|
@ -0,0 +1,80 @@
|
|||
import BaseSchema from '@ioc:Adonis/Lucid/Schema';
|
||||
import { PersonRoles, ContributorTypes } from 'Contracts/enums';
|
||||
|
||||
export default class LinkDocumentsPersons extends BaseSchema {
|
||||
protected tableName = 'link_documents_persons';
|
||||
|
||||
public async up() {
|
||||
this.schema.createTable(this.tableName, (table) => {
|
||||
table.integer('person_id').index('ix_fk_link_documents_persons_persons').notNullable();
|
||||
table
|
||||
.foreign('person_id', 'fk_link_documents_persons_persons')
|
||||
.references('id')
|
||||
.inTable('persons')
|
||||
.onDelete('NO ACTION') // don't delete this when license is deleted
|
||||
.onUpdate('NO ACTION');
|
||||
table.integer('document_id').index('ix_fk_link_persons_documents_documents').notNullable();
|
||||
table
|
||||
.foreign('document_id', 'fk_link_persons_documents_documents')
|
||||
.references('id')
|
||||
.inTable('documents')
|
||||
.onDelete('CASCADE') // delete this when document is deleted
|
||||
.onUpdate('CASCADE');
|
||||
|
||||
// table.string('role').notNullable().defaultTo("'other'");
|
||||
table.enum('role', Object.values(PersonRoles)).notNullable().defaultTo('other');
|
||||
|
||||
table.specificType('sort_order', 'smallint').notNullable();
|
||||
table.boolean('allow_email_contact').notNullable().defaultTo(false);
|
||||
|
||||
// table.string('contributor_type');
|
||||
table.enum('contributor_type', Object.values(ContributorTypes));
|
||||
|
||||
table.primary(['person_id', 'document_id', 'role']);
|
||||
});
|
||||
}
|
||||
|
||||
public async down() {
|
||||
this.schema.dropTable(this.tableName);
|
||||
}
|
||||
}
|
||||
|
||||
// -- Table: gba.link_documents_persons
|
||||
// -- DROP TABLE IF EXISTS gba.link_documents_persons;
|
||||
|
||||
// CREATE TABLE IF NOT EXISTS link_documents_persons
|
||||
// (
|
||||
// person_id integer NOT NULL,
|
||||
// document_id integer NOT NULL,
|
||||
// role character varying(255) NOT NULL DEFAULT 'other'::character varying,
|
||||
// sort_order smallint NOT NULL,
|
||||
// allow_email_contact boolean NOT NULL DEFAULT false,
|
||||
// contributor_type character varying(255),
|
||||
// CONSTRAINT link_documents_persons_pkey PRIMARY KEY (person_id, document_id, role),
|
||||
// CONSTRAINT fk_link_documents_persons_persons FOREIGN KEY (person_id)
|
||||
// REFERENCES persons (id) MATCH SIMPLE
|
||||
// ON UPDATE NO ACTION
|
||||
// ON DELETE NO ACTION,
|
||||
// CONSTRAINT fk_link_persons_documents_documents FOREIGN KEY (document_id)
|
||||
// REFERENCES documents (id) MATCH SIMPLE
|
||||
// ON UPDATE CASCADE
|
||||
// ON DELETE CASCADE,
|
||||
// CONSTRAINT link_documents_persons_contributor_type_check CHECK (contributor_type::text = ANY (ARRAY['ContactPerson'::character varying::text, 'DataCollector'::character varying::text, 'DataCurator'::character varying::text, 'DataManager'::character varying::text, 'Distributor'::character varying::text, 'Editor'::character varying::text, 'HostingInstitution'::character varying::text, 'Producer'::character varying::text, 'ProjectLeader'::character varying::text, 'ProjectManager'::character varying::text, 'ProjectMember'::character varying::text, 'RegistrationAgency'::character varying::text, 'RegistrationAuthority'::character varying::text, 'RelatedPerson'::character varying::text, 'Researcher'::character varying::text, 'ResearchGroup'::character varying::text, 'RightsHolder'::character varying::text, 'Sponsor'::character varying::text, 'Supervisor'::character varying::text, 'WorkPackageLeader'::character varying::text, 'Other'::character varying::text])),
|
||||
// CONSTRAINT link_documents_persons_role_check CHECK (role::text = ANY (ARRAY['author'::character varying::text, 'contributor'::character varying::text, 'other'::character varying::text]))
|
||||
// )
|
||||
// ALTER TABLE IF EXISTS link_documents_persons
|
||||
// OWNER to tethys_admin;
|
||||
// REVOKE ALL ON TABLE link_documents_persons FROM tethys_app;
|
||||
// GRANT ALL ON TABLE link_documents_persons TO tethys_admin;
|
||||
// GRANT DELETE, INSERT, SELECT, UPDATE ON TABLE link_documents_persons TO tethys_app;
|
||||
|
||||
// -- Index: ix_fk_link_documents_persons_persons
|
||||
// -- DROP INDEX IF EXISTS ix_fk_link_documents_persons_persons;
|
||||
// CREATE INDEX IF NOT EXISTS ix_fk_link_documents_persons_persons
|
||||
// ON link_documents_persons USING btree
|
||||
// (person_id ASC);
|
||||
// -- Index: ix_fk_link_persons_documents_documents
|
||||
// -- DROP INDEX IF EXISTS ix_fk_link_persons_documents_documents;
|
||||
// CREATE INDEX IF NOT EXISTS ix_fk_link_persons_documents_documents
|
||||
// ON link_documents_persons USING btree
|
||||
// (document_id ASC);
|
41
database/migrations/dataset_11_subjects.ts
Normal file
41
database/migrations/dataset_11_subjects.ts
Normal file
|
@ -0,0 +1,41 @@
|
|||
import BaseSchema from '@ioc:Adonis/Lucid/Schema';
|
||||
import { SubjectTypes } from 'Contracts/enums';
|
||||
|
||||
export default class DatasetSubjects extends BaseSchema {
|
||||
protected tableName = 'dataset_subjects';
|
||||
|
||||
public async up() {
|
||||
this.schema.createTable(this.tableName, (table) => {
|
||||
table.bigIncrements('id').defaultTo("nextval('dataset_subjects_id_seq')");
|
||||
table.string('language', 3);
|
||||
// table.string('type', 255).notNullable().defaultTo('uncontrolled');
|
||||
table.enum('type', Object.values(SubjectTypes)).defaultTo('uncontrolled');
|
||||
table.string('value', 255).notNullable();
|
||||
table.string('external_key', 255);
|
||||
table.timestamp('created_at', { useTz: false }).nullable();
|
||||
table.timestamp('updated_at', { useTz: false }).nullable();
|
||||
});
|
||||
}
|
||||
|
||||
public async down() {
|
||||
this.schema.dropTable(this.tableName);
|
||||
}
|
||||
}
|
||||
|
||||
// -- Table: dataset_subjects
|
||||
// CREATE TABLE IF NOT EXISTS dataset_subjects
|
||||
// (
|
||||
// id bigint NOT NULL DEFAULT nextval('dataset_subjects_id_seq'::regclass),
|
||||
// language character varying(3),
|
||||
// type character varying(255) NOT NULL,
|
||||
// value character varying(255) NOT NULL,
|
||||
// external_key character varying(255),
|
||||
// created_at timestamp(0) without time zone,
|
||||
// updated_at timestamp(0) without time zone,
|
||||
// CONSTRAINT dataset_subjects_pkey PRIMARY KEY (id),
|
||||
// CONSTRAINT dataset_subjects_type_check CHECK (type::text = 'uncontrolled'::text)
|
||||
// )
|
||||
// ALTER TABLE IF EXISTS dataset_subjects OWNER to tethys_admin;
|
||||
// REVOKE ALL ON TABLE dataset_subjects FROM tethys_app;
|
||||
// GRANT ALL ON TABLE dataset_subjects TO tethys_admin;
|
||||
// GRANT DELETE, UPDATE, INSERT, SELECT ON TABLE dataset_subjects TO tethys_app;
|
62
database/migrations/dataset_12_link_dataset_subjects.ts
Normal file
62
database/migrations/dataset_12_link_dataset_subjects.ts
Normal file
|
@ -0,0 +1,62 @@
|
|||
import BaseSchema from '@ioc:Adonis/Lucid/Schema';
|
||||
|
||||
export default class LinkDatasetSubjects extends BaseSchema {
|
||||
protected tableName = 'link_dataset_subjects';
|
||||
|
||||
public async up() {
|
||||
this.schema.createTable(this.tableName, (table) => {
|
||||
table.integer('subject_id').index('link_dataset_subjects_subject_id_index').notNullable();
|
||||
table
|
||||
.foreign('subject_id', 'link_dataset_subjects_subject_id_foreign')
|
||||
.references('id')
|
||||
.inTable('dataset_subjects')
|
||||
.onDelete('NO ACTION') // don't delete this when subject is deleted
|
||||
.onUpdate('NO ACTION');
|
||||
|
||||
table.integer('document_id').index('link_dataset_subjects_document_id_index').notNullable();
|
||||
table
|
||||
.foreign('document_id', 'link_dataset_subjects_document_id_foreign')
|
||||
.references('id')
|
||||
.inTable('documents')
|
||||
.onDelete('CASCADE') // delete this when document is deleted
|
||||
.onUpdate('CASCADE');
|
||||
|
||||
table.primary(['subject_id', 'document_id']);
|
||||
});
|
||||
}
|
||||
|
||||
public async down() {
|
||||
this.schema.dropTable(this.tableName);
|
||||
}
|
||||
}
|
||||
// -- Table: link_dataset_subjects
|
||||
// CREATE TABLE IF NOT EXISTS link_dataset_subjects
|
||||
// (
|
||||
// subject_id integer NOT NULL,
|
||||
// document_id integer NOT NULL,
|
||||
// CONSTRAINT link_dataset_subjects_pkey PRIMARY KEY (subject_id, document_id),
|
||||
// CONSTRAINT link_dataset_subjects_document_id_foreign FOREIGN KEY (document_id)
|
||||
// REFERENCES documents (id) MATCH SIMPLE
|
||||
// ON UPDATE CASCADE
|
||||
// ON DELETE CASCADE,
|
||||
// CONSTRAINT link_dataset_subjects_subject_id_foreign FOREIGN KEY (subject_id)
|
||||
// REFERENCES dataset_subjects (id) MATCH SIMPLE
|
||||
// ON UPDATE NO ACTION
|
||||
// ON DELETE NO ACTION
|
||||
// )
|
||||
// ALTER TABLE IF EXISTS .link_dataset_subjects
|
||||
// OWNER to tethys_admin;
|
||||
// REVOKE ALL ON TABLE link_dataset_subjects FROM tethys_app;
|
||||
// GRANT ALL ON TABLE link_dataset_subjects TO tethys_admin;
|
||||
// GRANT DELETE, INSERT, SELECT, UPDATE ON TABLE link_dataset_subjects TO tethys_app;
|
||||
|
||||
// -- Index: link_dataset_subjects_document_id_index
|
||||
// -- DROP INDEX IF EXISTS link_dataset_subjects_document_id_index;
|
||||
// CREATE INDEX IF NOT EXISTS link_dataset_subjects_document_id_index
|
||||
// ON link_dataset_subjects USING btree
|
||||
// (document_id ASC);
|
||||
// -- Index: link_dataset_subjects_subject_id_index
|
||||
// -- DROP INDEX IF EXISTS link_dataset_subjects_subject_id_index;
|
||||
// CREATE INDEX IF NOT EXISTS link_dataset_subjects_subject_id_index
|
||||
// ON link_dataset_subjects USING btree
|
||||
// (subject_id ASC);
|
37
database/migrations/dataset_1_projects.ts
Normal file
37
database/migrations/dataset_1_projects.ts
Normal file
|
@ -0,0 +1,37 @@
|
|||
import BaseSchema from '@ioc:Adonis/Lucid/Schema';
|
||||
|
||||
export default class Projects extends BaseSchema {
|
||||
protected tableName = 'projects';
|
||||
|
||||
public async up() {
|
||||
this.schema.createTable(this.tableName, (table) => {
|
||||
table.increments('id').primary().defaultTo("nextval('projects_id_seq')");
|
||||
table.string('label', 50).notNullable();
|
||||
table.string('name', 255).notNullable();
|
||||
table.string('description', 255).nullable();
|
||||
table.timestamp('created_at', { useTz: false }).nullable();
|
||||
table.timestamp('updated_at', { useTz: false }).nullable();
|
||||
});
|
||||
}
|
||||
|
||||
public async down() {
|
||||
this.schema.dropTable(this.tableName);
|
||||
}
|
||||
}
|
||||
|
||||
// -- Table: project
|
||||
// CREATE TABLE IF NOT EXISTS projects
|
||||
// (
|
||||
// id integer NOT NULL DEFAULT nextval('projects_id_seq'::regclass),
|
||||
// label character varying(50) NOT NULL,
|
||||
// name character varying(255) NOT NULL,
|
||||
// description character varying(2500),
|
||||
// created_at timestamp(0) without time zone,
|
||||
// updated_at timestamp(0) without time zone,
|
||||
// CONSTRAINT projects_pkey PRIMARY KEY (id)
|
||||
// )
|
||||
// ALTER TABLE IF EXISTS projects
|
||||
// OWNER to tethys_admin;
|
||||
// REVOKE ALL ON TABLE projects FROM tethys_app;
|
||||
// GRANT ALL ON TABLE projects TO tethys_admin;
|
||||
// GRANT DELETE, UPDATE, INSERT, SELECT ON TABLE projects TO tethys_app;
|
93
database/migrations/dataset_2_documents.ts
Normal file
93
database/migrations/dataset_2_documents.ts
Normal file
|
@ -0,0 +1,93 @@
|
|||
import BaseSchema from '@ioc:Adonis/Lucid/Schema';
|
||||
import { DatasetTypes, ServerStates } from 'Contracts/enums';
|
||||
|
||||
export default class Documents extends BaseSchema {
|
||||
protected tableName = 'documents';
|
||||
|
||||
public async up() {
|
||||
this.schema.createTable(this.tableName, (table) => {
|
||||
table.increments('id').primary().defaultTo("nextval('documents_id_seq')");
|
||||
table.string('contributing_corporation');
|
||||
table.string('creating_corporation').notNullable();
|
||||
table.string('publisher_name');
|
||||
table.timestamp('embargo_date');
|
||||
table.integer('publish_id').unique();
|
||||
table.integer('project_id').unsigned().nullable();
|
||||
table
|
||||
.foreign('project_id', 'documents_project_id_foreign')
|
||||
.references('id')
|
||||
.inTable('projects')
|
||||
.onDelete('NO ACTION') // don't delete this doc when project is deleted
|
||||
.onUpdate('NO ACTION');
|
||||
table.enum('type', Object.values(DatasetTypes)).notNullable();
|
||||
table.string('language').notNullable();
|
||||
table.enum('server_state', Object.values(ServerStates)).notNullable().defaultTo("'inprogress'");
|
||||
table.boolean('belongs_to_bibliography').notNullable().defaultTo(false);
|
||||
table.timestamp('created_at').notNullable();
|
||||
table.timestamp('server_date_modified').notNullable();
|
||||
table.timestamp('server_date_published');
|
||||
table.integer('account_id').unsigned().nullable();
|
||||
table
|
||||
.foreign('account_id', 'documents_account_id_foreign')
|
||||
.references('id')
|
||||
.inTable('accounts')
|
||||
.onDelete('NO ACTION') // don't delete this when account is deleted
|
||||
.onUpdate('NO ACTION');
|
||||
table.integer('editor_id');
|
||||
table.integer('reviewer_id');
|
||||
table.string('preferred_reviewer');
|
||||
table.string('preferred_reviewer_email');
|
||||
table.string('reject_editor_note');
|
||||
table.string('reject_reviewer_note');
|
||||
table.boolean('reviewer_note_visible').notNullable().defaultTo(false);
|
||||
});
|
||||
}
|
||||
|
||||
public async down() {
|
||||
this.schema.dropTable(this.tableName);
|
||||
}
|
||||
}
|
||||
|
||||
// -- Table: documents
|
||||
// CREATE TABLE IF NOT EXISTS documents
|
||||
// (
|
||||
// id integer NOT NULL DEFAULT nextval('documents_id_seq'::regclass),
|
||||
// contributing_corporation character varying(255) ,
|
||||
// creating_corporation character varying(255) NOT NULL,
|
||||
// publisher_name character varying(255) ,
|
||||
// embargo_date timestamp(0) without time zone,
|
||||
// publish_id integer,
|
||||
// project_id integer,
|
||||
// type character varying(255) NOT NULL,
|
||||
// language character varying(10) NOT NULL,
|
||||
// server_state character varying(255) NOT NULL DEFAULT 'inprogress'::character varying,
|
||||
// belongs_to_bibliography boolean NOT NULL DEFAULT false,
|
||||
// created_at timestamp(0) without time zone NOT NULL,
|
||||
// server_date_modified timestamp(0) without time zone NOT NULL,
|
||||
// server_date_published timestamp(0) without time zone,
|
||||
// account_id integer,
|
||||
// editor_id integer,
|
||||
// reviewer_id integer,
|
||||
// preferred_reviewer character varying(25) ,
|
||||
// preferred_reviewer_email character varying(50) ,
|
||||
// reject_editor_note character varying(500) ,
|
||||
// reject_reviewer_note character varying(500) ,
|
||||
// reviewer_note_visible boolean NOT NULL DEFAULT false,
|
||||
// CONSTRAINT documents_pkey PRIMARY KEY (id),
|
||||
// CONSTRAINT documents_publish_id_unique UNIQUE (publish_id),
|
||||
// CONSTRAINT documents_project_id_foreign FOREIGN KEY (project_id)
|
||||
// REFERENCES projects (id) MATCH SIMPLE
|
||||
// ON UPDATE NO ACTION
|
||||
// ON DELETE NO ACTION,
|
||||
// CONSTRAINT documents_account_id_foreign FOREIGN KEY (account_id)
|
||||
// REFERENCES accounts (id) MATCH SIMPLE
|
||||
// ON UPDATE NO ACTION
|
||||
// ON DELETE NO ACTION,
|
||||
// CONSTRAINT documents_server_state_check CHECK (server_state::text = ANY (ARRAY['deleted'::character varying::text, 'inprogress'::character varying::text, 'published'::character varying::text, 'released'::character varying::text, 'editor_accepted'::character varying::text, 'approved'::character varying::text, 'rejected_reviewer'::character varying::text, 'rejected_editor'::character varying::text, 'reviewed'::character varying::text])),
|
||||
// CONSTRAINT documents_type_check CHECK (type::text = ANY (ARRAY['analysisdata'::character varying::text, 'measurementdata'::character varying::text, 'monitoring'::character varying::text, 'remotesensing'::character varying::text, 'gis'::character varying::text, 'models'::character varying::text, 'mixedtype'::character varying::text]))
|
||||
// )
|
||||
// ALTER TABLE IF EXISTS documents
|
||||
// OWNER to tethys_admin;
|
||||
// REVOKE ALL ON TABLE documents FROM tethys_app;
|
||||
// GRANT ALL ON TABLE documents TO tethys_admin;
|
||||
// GRANT DELETE, INSERT, SELECT, UPDATE ON TABLE documents TO tethys_app;
|
48
database/migrations/dataset_3_abstracts.ts
Normal file
48
database/migrations/dataset_3_abstracts.ts
Normal file
|
@ -0,0 +1,48 @@
|
|||
import BaseSchema from '@ioc:Adonis/Lucid/Schema';
|
||||
import { DescriptionTypes } from 'Contracts/enums';
|
||||
|
||||
export default class DatasetTitles extends BaseSchema {
|
||||
protected tableName = 'dataset_abstracts';
|
||||
|
||||
public async up() {
|
||||
this.schema.createTable(this.tableName, (table) => {
|
||||
table.increments('id').primary().defaultTo("nextval('dataset_abstracts_id_seq')");
|
||||
table.integer('document_id').unsigned().notNullable();
|
||||
table
|
||||
.foreign('document_id', 'dataset_abstracts_document_id_foreign')
|
||||
.references('id')
|
||||
.inTable('documents')
|
||||
.onDelete('CASCADE') // delete this abstract when document is deleted
|
||||
.onUpdate('CASCADE');
|
||||
// table.string('type', 255).notNullable();
|
||||
table.enum('type', Object.values(DescriptionTypes)).notNullable();
|
||||
table.string('value', 255).notNullable();
|
||||
table.string('language', 3).notNullable();
|
||||
});
|
||||
}
|
||||
|
||||
public async down() {
|
||||
this.schema.dropTable(this.tableName);
|
||||
}
|
||||
}
|
||||
|
||||
// -- Table: dataset_titles
|
||||
// CREATE TABLE IF NOT EXISTS dataset_titles
|
||||
// (
|
||||
// id integer NOT NULL DEFAULT nextval('dataset_titles_id_seq'::regclass),
|
||||
// document_id integer NOT NULL,
|
||||
// type character varying(255) NOT NULL,
|
||||
// value character varying(255) NOT NULL,
|
||||
// language character varying(3) NOT NULL,
|
||||
// CONSTRAINT dataset_titles_pkey PRIMARY KEY (id),
|
||||
// CONSTRAINT dataset_titles_document_id_foreign FOREIGN KEY (document_id)
|
||||
// REFERENCES documents (id) MATCH SIMPLE
|
||||
// ON UPDATE CASCADE
|
||||
// ON DELETE CASCADE,
|
||||
// CONSTRAINT dataset_titles_type_check CHECK (type::text = ANY (ARRAY['Main'::character varying::text, 'Sub'::character varying::text, 'Alternative'::character varying::text, 'Translated'::character varying::text, 'Other'::character varying::text]))
|
||||
// )
|
||||
// ALTER TABLE IF EXISTS dataset_titles
|
||||
// OWNER to tethys_admin;
|
||||
// REVOKE ALL ON TABLE dataset_titles FROM tethys_app;
|
||||
// GRANT ALL ON TABLE dataset_titles TO tethys_admin;
|
||||
// GRANT DELETE, INSERT, SELECT, UPDATE ON TABLE dataset_titles TO tethys_app;
|
48
database/migrations/dataset_4_titles.ts
Normal file
48
database/migrations/dataset_4_titles.ts
Normal file
|
@ -0,0 +1,48 @@
|
|||
import BaseSchema from '@ioc:Adonis/Lucid/Schema';
|
||||
import { TitleTypes } from 'Contracts/enums';
|
||||
|
||||
export default class DatasetTitles extends BaseSchema {
|
||||
protected tableName = 'dataset_titles';
|
||||
|
||||
public async up() {
|
||||
this.schema.createTable(this.tableName, (table) => {
|
||||
table.increments('id').primary().defaultTo("nextval('dataset_titles_id_seq')");
|
||||
table.integer('document_id').unsigned().notNullable();
|
||||
table
|
||||
.foreign('document_id', 'dataset_titles_document_id_foreign')
|
||||
.references('id')
|
||||
.inTable('documents')
|
||||
.onDelete('CASCADE') // delete this titke when document is deleted
|
||||
.onUpdate('CASCADE');
|
||||
// table.string('type', 255).notNullable();
|
||||
table.enum('type', Object.values(TitleTypes)).notNullable();
|
||||
table.string('value', 255).notNullable();
|
||||
table.string('language', 3).notNullable();
|
||||
});
|
||||
}
|
||||
|
||||
public async down() {
|
||||
this.schema.dropTable(this.tableName);
|
||||
}
|
||||
}
|
||||
|
||||
// -- Table: dataset_titles
|
||||
// CREATE TABLE IF NOT EXISTS dataset_titles
|
||||
// (
|
||||
// id integer NOT NULL DEFAULT nextval('dataset_titles_id_seq'::regclass),
|
||||
// document_id integer NOT NULL,
|
||||
// type character varying(255) NOT NULL,
|
||||
// value character varying(255) NOT NULL,
|
||||
// language character varying(3) NOT NULL,
|
||||
// CONSTRAINT dataset_titles_pkey PRIMARY KEY (id),
|
||||
// CONSTRAINT dataset_titles_document_id_foreign FOREIGN KEY (document_id)
|
||||
// REFERENCES documents (id) MATCH SIMPLE
|
||||
// ON UPDATE CASCADE
|
||||
// ON DELETE CASCADE,
|
||||
// CONSTRAINT dataset_titles_type_check CHECK (type::text = ANY (ARRAY['Main'::character varying::text, 'Sub'::character varying::text, 'Alternative'::character varying::text, 'Translated'::character varying::text, 'Other'::character varying::text]))
|
||||
// )
|
||||
// ALTER TABLE IF EXISTS dataset_titles
|
||||
// OWNER to tethys_admin;
|
||||
// REVOKE ALL ON TABLE dataset_titles FROM tethys_app;
|
||||
// GRANT ALL ON TABLE dataset_titles TO tethys_admin;
|
||||
// GRANT DELETE, INSERT, SELECT, UPDATE ON TABLE dataset_titles TO tethys_app;
|
40
database/migrations/dataset_6_collection_roles.ts
Normal file
40
database/migrations/dataset_6_collection_roles.ts
Normal file
|
@ -0,0 +1,40 @@
|
|||
import BaseSchema from '@ioc:Adonis/Lucid/Schema';
|
||||
|
||||
export default class CollectionsRoles extends BaseSchema {
|
||||
protected tableName = 'collections_roles';
|
||||
|
||||
public async up() {
|
||||
this.schema.createTable(this.tableName, (table) => {
|
||||
table.increments('id').primary().defaultTo("nextval('collections_roles_id_seq')");
|
||||
table.string('name', 255).notNullable();
|
||||
table.string('oai_name', 255).notNullable();
|
||||
table.integer('position').notNullable();
|
||||
table.boolean('visible').notNullable().defaultTo(true);
|
||||
table.boolean('visible_frontdoor').notNullable().defaultTo(true);
|
||||
table.boolean('visible_oai').notNullable().defaultTo(true);
|
||||
});
|
||||
}
|
||||
|
||||
public async down() {
|
||||
this.schema.dropTable(this.tableName);
|
||||
}
|
||||
}
|
||||
|
||||
// -- Table: collection roles
|
||||
// CREATE TABLE IF NOT EXISTS collections_roles
|
||||
// (
|
||||
// id integer NOT NULL DEFAULT nextval('collections_roles_id_seq'::regclass),
|
||||
// name character varying(255) NOT NULL,
|
||||
// oai_name character varying(255) NOT NULL,
|
||||
// "position" integer NOT NULL,
|
||||
// visible boolean NOT NULL DEFAULT true,
|
||||
// visible_frontdoor boolean NOT NULL DEFAULT true,
|
||||
// visible_oai boolean NOT NULL DEFAULT true,
|
||||
// CONSTRAINT collections_roles_pkey PRIMARY KEY (id)
|
||||
// )
|
||||
// ALTER TABLE IF EXISTS collections_roles
|
||||
// OWNER to tethys_admin;
|
||||
// REVOKE ALL ON TABLE collections_roles FROM tethys_app;
|
||||
// GRANT ALL ON TABLE collections_roles TO tethys_admin;
|
||||
// GRANT DELETE, UPDATE, INSERT, SELECT ON TABLE collections_roles TO tethys_app;
|
||||
|
61
database/migrations/dataset_7_collections.ts
Normal file
61
database/migrations/dataset_7_collections.ts
Normal file
|
@ -0,0 +1,61 @@
|
|||
import BaseSchema from '@ioc:Adonis/Lucid/Schema';
|
||||
|
||||
export default class Collections extends BaseSchema {
|
||||
protected tableName = 'collections';
|
||||
|
||||
public async up() {
|
||||
this.schema.createTable(this.tableName, (table) => {
|
||||
table.increments('id').defaultTo("nextval('collections_id_seq')");
|
||||
table.integer('role_id').unsigned();
|
||||
table
|
||||
.foreign('role_id', 'collections_role_id_foreign')
|
||||
.references('id')
|
||||
.inTable('collections_roles')
|
||||
.onDelete('CASCADE') // delete this collection when collection_role is deleted
|
||||
.onUpdate('CASCADE');
|
||||
table.string('number', 255);
|
||||
table.string('name', 255).notNullable();
|
||||
table.string('oai_subset', 255);
|
||||
table.integer('parent_id').unsigned();
|
||||
table
|
||||
.foreign('parent_id', 'collections_parent_id_foreign')
|
||||
.references('id')
|
||||
.inTable('collections')
|
||||
.onDelete('CASCADE') // delete this collection when parent collection is deleted
|
||||
.onUpdate('CASCADE');
|
||||
table.boolean('visible').notNullable().defaultTo(true);
|
||||
table.boolean('visible_publish').notNullable().defaultTo(true);
|
||||
});
|
||||
}
|
||||
|
||||
public async down() {
|
||||
this.schema.dropTable(this.tableName);
|
||||
}
|
||||
}
|
||||
|
||||
// -- Table: collections
|
||||
// CREATE TABLE IF NOT EXISTS collections
|
||||
// (
|
||||
// id integer NOT NULL DEFAULT nextval('collections_id_seq'::regclass),
|
||||
// role_id integer,
|
||||
// "number" character varying(255),
|
||||
// name character varying(255) NOT NULL,
|
||||
// oai_subset character varying(255),
|
||||
// parent_id integer,
|
||||
// visible boolean NOT NULL DEFAULT true,
|
||||
// visible_publish boolean NOT NULL DEFAULT true,
|
||||
// CONSTRAINT collections_pkey PRIMARY KEY (id),
|
||||
// CONSTRAINT collections_parent_id_foreign FOREIGN KEY (parent_id)
|
||||
// REFERENCES collections (id) MATCH SIMPLE
|
||||
// ON UPDATE CASCADE
|
||||
// ON DELETE CASCADE,
|
||||
// CONSTRAINT collections_role_id_foreign FOREIGN KEY (role_id)
|
||||
// REFERENCES collections_roles (id) MATCH SIMPLE
|
||||
// ON UPDATE CASCADE
|
||||
// ON DELETE CASCADE
|
||||
// )
|
||||
// ALTER TABLE IF EXISTS collections
|
||||
// OWNER to tethys_admin;
|
||||
// REVOKE ALL ON TABLE collections FROM tethys_app;
|
||||
// GRANT ALL ON TABLE collections TO tethys_admin;
|
||||
// GRANT DELETE, INSERT, SELECT, UPDATE ON TABLE collections TO tethys_app;
|
59
database/migrations/dataset_8_link_documents_collections.ts
Normal file
59
database/migrations/dataset_8_link_documents_collections.ts
Normal file
|
@ -0,0 +1,59 @@
|
|||
import BaseSchema from '@ioc:Adonis/Lucid/Schema';
|
||||
|
||||
export default class LinkDocumentsCollections extends BaseSchema {
|
||||
protected tableName = 'link_documents_collections';
|
||||
|
||||
public async up() {
|
||||
this.schema.createTable(this.tableName, (table) => {
|
||||
table.integer('collection_id').index('link_documents_collections_collection_id_index').notNullable();
|
||||
table
|
||||
.foreign('collection_id', 'link_documents_collections_collection_id_foreign')
|
||||
.references('id')
|
||||
.inTable('collections')
|
||||
.onDelete('CASCADE') // don't delete this when collection is deleted
|
||||
.onUpdate('CASCADE');
|
||||
table.integer('document_id').index('link_documents_collections_document_id_index').notNullable();
|
||||
table
|
||||
.foreign('document_id', 'link_documents_collections_document_id_foreign')
|
||||
.references('id')
|
||||
.inTable('documents')
|
||||
.onDelete('CASCADE') // don't delete this when document is deleted
|
||||
.onUpdate('CASCADE');
|
||||
table.primary(['collection_id', 'document_id']);
|
||||
});
|
||||
}
|
||||
|
||||
public async down() {
|
||||
this.schema.dropTable(this.tableName);
|
||||
}
|
||||
}
|
||||
|
||||
// -- Table: link_documents_collections
|
||||
// CREATE TABLE IF NOT EXISTS link_documents_collections
|
||||
// (
|
||||
// collection_id integer NOT NULL,
|
||||
// document_id integer NOT NULL,
|
||||
// CONSTRAINT link_documents_collections_pkey PRIMARY KEY (collection_id, document_id),
|
||||
// CONSTRAINT link_documents_collections_collection_id_foreign FOREIGN KEY (collection_id)
|
||||
// REFERENCES collections (id) MATCH SIMPLE
|
||||
// ON UPDATE CASCADE
|
||||
// ON DELETE CASCADE,
|
||||
// CONSTRAINT link_documents_collections_document_id_foreign FOREIGN KEY (document_id)
|
||||
// REFERENCES documents (id) MATCH SIMPLE
|
||||
// ON UPDATE CASCADE
|
||||
// ON DELETE CASCADE
|
||||
// )
|
||||
// ALTER TABLE IF EXISTS link_documents_collections
|
||||
// OWNER to tethys_admin;
|
||||
// REVOKE ALL ON TABLE link_documents_collections FROM tethys_app;
|
||||
// GRANT ALL ON TABLE link_documents_collections TO tethys_admin;
|
||||
// GRANT DELETE, INSERT, SELECT, UPDATE ON TABLE link_documents_collections TO tethys_app;
|
||||
|
||||
// -- Index: link_documents_collections_collection_id_index
|
||||
// -- DROP INDEX IF EXISTS link_documents_collections_collection_id_index;
|
||||
// CREATE INDEX IF NOT EXISTS link_documents_collections_collection_id_index
|
||||
// ON link_documents_collections USING btree (collection_id ASC);
|
||||
// -- Index: link_documents_collections_document_id_index
|
||||
// -- DROP INDEX IF EXISTS link_documents_collections_document_id_index;
|
||||
// CREATE INDEX IF NOT EXISTS link_documents_collections_document_id_index
|
||||
// ON link_documents_collections USING btree (document_id ASC);
|
56
database/migrations/dataset_9_persons.ts
Normal file
56
database/migrations/dataset_9_persons.ts
Normal file
|
@ -0,0 +1,56 @@
|
|||
import BaseSchema from '@ioc:Adonis/Lucid/Schema';
|
||||
import { PersonNameTypes } from 'Contracts/enums';
|
||||
|
||||
export default class Persons extends BaseSchema {
|
||||
protected tableName = 'persons';
|
||||
|
||||
public async up() {
|
||||
this.schema.createTable(this.tableName, (table) => {
|
||||
table.increments('id').primary().defaultTo("nextval('persons_id_seq')");
|
||||
table.string('academic_title', 255);
|
||||
table.string('date_of_birth', 100);
|
||||
table.string('email', 100).notNullable();
|
||||
table.string('first_name', 255);
|
||||
table.string('last_name', 255);
|
||||
table.string('place_of_birth', 255);
|
||||
table.string('identifier_orcid', 50);
|
||||
table.string('identifier_gnd', 50);
|
||||
table.string('identifier_misc', 50);
|
||||
table.boolean('status').defaultTo(true);
|
||||
table.integer('registered_at');
|
||||
// table.string('name_type', 255);
|
||||
table.enum('name_type', Object.values(PersonNameTypes)).notNullable();
|
||||
});
|
||||
}
|
||||
|
||||
public async down() {
|
||||
this.schema.dropTable(this.tableName);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// -- Table: persons
|
||||
// CREATE TABLE IF NOT EXISTS persons
|
||||
// (
|
||||
// id integer NOT NULL DEFAULT nextval('persons_id_seq'::regclass),
|
||||
// academic_title character varying(255),
|
||||
// date_of_birth character varying(100),
|
||||
// email character varying(100) NOT NULL,
|
||||
// first_name character varying(255),
|
||||
// last_name character varying(255),
|
||||
// place_of_birth character varying(255),
|
||||
// identifier_orcid character varying(50),
|
||||
// identifier_gnd character varying(50),
|
||||
// identifier_misc character varying(50),
|
||||
// status boolean DEFAULT true,
|
||||
// registered_at integer,
|
||||
// name_type character varying(255),
|
||||
// CONSTRAINT persons_pkey PRIMARY KEY (id),
|
||||
// CONSTRAINT persons_name_type_check CHECK (name_type::text = ANY (ARRAY['Organizational'::character varying::text, 'Personal'::character varying::text]))
|
||||
// )
|
||||
|
||||
// ALTER TABLE IF EXISTS persons
|
||||
// OWNER to tethys_admin;
|
||||
// REVOKE ALL ON TABLE persons FROM tethys_app;
|
||||
// GRANT ALL ON TABLE persons TO tethys_admin;
|
||||
// GRANT DELETE, UPDATE, INSERT, SELECT ON TABLE persons TO tethys_app;
|
61
database/migrations/files_1_document_files.ts
Normal file
61
database/migrations/files_1_document_files.ts
Normal file
|
@ -0,0 +1,61 @@
|
|||
import BaseSchema from '@ioc:Adonis/Lucid/Schema';
|
||||
|
||||
export default class DocumentFiles extends BaseSchema {
|
||||
protected tableName = 'document_files';
|
||||
|
||||
public async up() {
|
||||
this.schema.createTable(this.tableName, (table) => {
|
||||
table.increments('id').primary().defaultTo("nextval('document_files_id_seq')");
|
||||
table.integer('document_id').unsigned().notNullable();
|
||||
table
|
||||
.foreign('document_id', 'document_files_document_id_foreign')
|
||||
.references('id')
|
||||
.inTable('documents')
|
||||
.onDelete('CASCADE') // delete this when document is deleted
|
||||
.onUpdate('CASCADE');
|
||||
table.string('path_name').notNullable();
|
||||
table.string('label');
|
||||
table.string('comment');
|
||||
table.string('mime_type');
|
||||
table.string('language');
|
||||
table.bigInteger('file_size').notNullable();
|
||||
table.boolean('visible_in_frontdoor').notNullable().defaultTo(true);
|
||||
table.boolean('visible_in_oai').notNullable().defaultTo(true);
|
||||
table.integer('sort_order').notNullable();
|
||||
table.timestamp('created_at');
|
||||
table.timestamp('updated_at');
|
||||
});
|
||||
}
|
||||
|
||||
public async down() {
|
||||
this.schema.dropTable(this.tableName);
|
||||
}
|
||||
}
|
||||
|
||||
// -- Table: document_files
|
||||
// CREATE TABLE IF NOT EXISTS document_files
|
||||
// (
|
||||
// id integer NOT NULL DEFAULT nextval('document_files_id_seq'::regclass),
|
||||
// document_id integer NOT NULL,
|
||||
// path_name character varying(100) NOT NULL,
|
||||
// label character varying(100),
|
||||
// comment character varying(255),
|
||||
// mime_type character varying(255),
|
||||
// language character varying(3),
|
||||
// file_size bigint NOT NULL,
|
||||
// visible_in_frontdoor boolean NOT NULL DEFAULT true,
|
||||
// visible_in_oai boolean NOT NULL DEFAULT true,
|
||||
// sort_order integer NOT NULL,
|
||||
// created_at timestamp(0) without time zone,
|
||||
// updated_at timestamp(0) without time zone,
|
||||
// CONSTRAINT document_files_pkey PRIMARY KEY (id),
|
||||
// CONSTRAINT document_files_document_id_foreign FOREIGN KEY (document_id)
|
||||
// REFERENCES documents (id) MATCH SIMPLE
|
||||
// ON UPDATE CASCADE
|
||||
// ON DELETE CASCADE
|
||||
// )
|
||||
// ALTER TABLE IF EXISTS document_files
|
||||
// OWNER to tethys_admin;
|
||||
// REVOKE ALL ON TABLE document_files FROM tethys_app;
|
||||
// GRANT ALL ON TABLE document_files TO tethys_admin;
|
||||
// GRANT DELETE, UPDATE, INSERT, SELECT ON TABLE document_files TO tethys_app;
|
42
database/migrations/files_2_file_hashvalues.ts
Normal file
42
database/migrations/files_2_file_hashvalues.ts
Normal file
|
@ -0,0 +1,42 @@
|
|||
import BaseSchema from '@ioc:Adonis/Lucid/Schema';
|
||||
|
||||
export default class FileHashvalues extends BaseSchema {
|
||||
protected tableName = 'file_hashvalues';
|
||||
|
||||
public async up() {
|
||||
this.schema.createTable(this.tableName, (table) => {
|
||||
table.integer('file_id').notNullable();
|
||||
table
|
||||
.foreign('file_id', 'file_hashvalues_file_id_foreign')
|
||||
.references('id')
|
||||
.inTable('document_files')
|
||||
.onDelete('CASCADE') // delete this when document_file is deleted
|
||||
.onUpdate('CASCADE');
|
||||
table.string('type', 50).notNullable();
|
||||
table.string('value').notNullable();
|
||||
table.primary(['file_id', 'type']);
|
||||
});
|
||||
}
|
||||
|
||||
public async down() {
|
||||
this.schema.dropTable(this.tableName);
|
||||
}
|
||||
}
|
||||
|
||||
// -- Table: file_hashvalues
|
||||
// CREATE TABLE IF NOT EXISTS file_hashvalues
|
||||
// (
|
||||
// file_id integer NOT NULL,
|
||||
// type character varying(50) NOT NULL,
|
||||
// value character varying(255) NOT NULL,
|
||||
// CONSTRAINT file_hashvalues_pkey PRIMARY KEY (file_id, type),
|
||||
// CONSTRAINT file_hashvalues_file_id_foreign FOREIGN KEY (file_id)
|
||||
// REFERENCES document_files (id) MATCH SIMPLE
|
||||
// ON UPDATE CASCADE
|
||||
// ON DELETE CASCADE
|
||||
// )
|
||||
// ALTER TABLE IF EXISTS file_hashvalues
|
||||
// OWNER to tethys_admin;
|
||||
// REVOKE ALL ON TABLE file_hashvalues FROM tethys_app;
|
||||
// GRANT ALL ON TABLE file_hashvalues TO tethys_admin;
|
||||
// GRANT DELETE, UPDATE, INSERT, SELECT ON TABLE file_hashvalues TO tethys_app;
|
53
database/migrations/files_3_document_licences.ts
Normal file
53
database/migrations/files_3_document_licences.ts
Normal file
|
@ -0,0 +1,53 @@
|
|||
import BaseSchema from '@ioc:Adonis/Lucid/Schema';
|
||||
|
||||
export default class DocumentLicences extends BaseSchema {
|
||||
protected tableName = 'document_licences';
|
||||
|
||||
public async up() {
|
||||
this.schema.createTable(this.tableName, (table) => {
|
||||
table.increments('id').primary().defaultTo("nextval('document_licences_id_seq')");
|
||||
table.boolean('active').notNullable().defaultTo(true);
|
||||
table.string('comment_internal', 4000);
|
||||
table.string('desc_markup', 4000);
|
||||
table.string('desc_text', 4000);
|
||||
table.string('language', 3);
|
||||
table.string('link_licence', 200).notNullable();
|
||||
table.string('link_logo', 200);
|
||||
table.string('link_sign', 200);
|
||||
table.string('mime_type', 30);
|
||||
table.string('name_long', 200).notNullable();
|
||||
table.string('name', 50).notNullable();
|
||||
table.boolean('pod_allowed').notNullable().defaultTo(false);
|
||||
table.specificType('sort_order', 'smallint').notNullable();
|
||||
});
|
||||
}
|
||||
|
||||
public async down() {
|
||||
this.schema.dropTable(this.tableName);
|
||||
}
|
||||
}
|
||||
|
||||
// -- Table: document_licences
|
||||
// CREATE TABLE IF NOT EXISTS document_licences
|
||||
// (
|
||||
// id integer NOT NULL DEFAULT nextval('document_licences_id_seq'::regclass),
|
||||
// active boolean NOT NULL DEFAULT true,
|
||||
// comment_internal character varying(4000),
|
||||
// desc_markup character varying(4000),
|
||||
// desc_text character varying(4000),
|
||||
// language character varying(3),
|
||||
// link_licence character varying(200) NOT NULL,
|
||||
// link_logo character varying(200),
|
||||
// link_sign character varying(200),
|
||||
// mime_type character varying(30),
|
||||
// name_long character varying(200) NOT NULL,
|
||||
// name character varying(50) NOT NULL,
|
||||
// pod_allowed boolean NOT NULL DEFAULT false,
|
||||
// sort_order smallint NOT NULL,
|
||||
// CONSTRAINT document_licences_pkey PRIMARY KEY (id)
|
||||
// )
|
||||
// ALTER TABLE IF EXISTS document_licences
|
||||
// OWNER to tethys_admin;
|
||||
// REVOKE ALL ON TABLE document_licences FROM tethys_app;
|
||||
// GRANT ALL ON TABLE document_licences TO tethys_admin;
|
||||
// GRANT DELETE, UPDATE, INSERT, SELECT ON TABLE document_licences TO tethys_app;
|
63
database/migrations/files_4_link_documents_licences.ts
Normal file
63
database/migrations/files_4_link_documents_licences.ts
Normal file
|
@ -0,0 +1,63 @@
|
|||
import BaseSchema from '@ioc:Adonis/Lucid/Schema';
|
||||
import { PersonRoles } from 'Contracts/enums';
|
||||
|
||||
export default class LinkDocumentsLicences extends BaseSchema {
|
||||
protected tableName = 'link_documents_licences';
|
||||
|
||||
public async up() {
|
||||
this.schema.createTable(this.tableName, (table) => {
|
||||
table.integer('licence_id').index('link_documents_licences_licence_id_index').notNullable();
|
||||
table
|
||||
.foreign('licence_id', 'link_documents_licences_licence_id_foreign')
|
||||
.references('id')
|
||||
.inTable('document_licences')
|
||||
.onDelete('NO ACTION') // don't delete this when license is deleted
|
||||
.onUpdate('NO ACTION');
|
||||
// table.index('licence_id', 'link_documents_licences_licence_id_index')
|
||||
table.integer('document_id').index('link_documents_licences_document_id_index').notNullable();
|
||||
table
|
||||
.foreign('document_id', 'link_documents_licences_document_id_foreign')
|
||||
.references('id')
|
||||
.inTable('documents')
|
||||
.onDelete('CASCADE') // delete this when permission is deleted
|
||||
.onUpdate(' CASCADE');
|
||||
// table.index('licence_id', 'link_documents_licences_document_id_index')
|
||||
table.primary(['licence_id', 'document_id']);
|
||||
});
|
||||
}
|
||||
|
||||
public async down() {
|
||||
this.schema.dropTable(this.tableName);
|
||||
}
|
||||
}
|
||||
|
||||
// -- Table: link_documents_licences
|
||||
// CREATE TABLE IF NOT EXISTS link_documents_licences
|
||||
// (
|
||||
// licence_id integer NOT NULL,
|
||||
// document_id integer NOT NULL,
|
||||
// role character varying(255) NOT NULL DEFAULT 'other'::character varying,
|
||||
// CONSTRAINT link_documents_licences_pkey PRIMARY KEY (licence_id, document_id),
|
||||
// CONSTRAINT link_documents_licences_document_id_foreign FOREIGN KEY (document_id)
|
||||
// REFERENCES documents (id) MATCH SIMPLE
|
||||
// ON UPDATE CASCADE
|
||||
// ON DELETE CASCADE,
|
||||
// CONSTRAINT link_documents_licences_licence_id_foreign FOREIGN KEY (licence_id)
|
||||
// REFERENCES document_licences (id) MATCH SIMPLE
|
||||
// ON UPDATE NO ACTION
|
||||
// ON DELETE NO ACTION,
|
||||
// )
|
||||
// ALTER TABLE IF EXISTS link_documents_licences
|
||||
// OWNER to tethys_admin;
|
||||
// REVOKE ALL ON TABLE link_documents_licences FROM tethys_app;
|
||||
// GRANT ALL ON TABLE link_documents_licences TO tethys_admin;
|
||||
// GRANT DELETE, INSERT, SELECT, UPDATE ON TABLE link_documents_licences TO tethys_app;
|
||||
|
||||
// -- Index: link_documents_licences_document_id_index
|
||||
// CREATE INDEX IF NOT EXISTS link_documents_licences_document_id_index
|
||||
// ON link_documents_licences USING btree
|
||||
// (document_id ASC);
|
||||
// -- Index: link_documents_licences_licence_id_index
|
||||
// CREATE INDEX IF NOT EXISTS link_documents_licences_licence_id_index
|
||||
// ON link_documents_licences USING btree
|
||||
// (licence_id ASC);
|
37
database/migrations/lookup_1_mime_types.ts
Normal file
37
database/migrations/lookup_1_mime_types.ts
Normal file
|
@ -0,0 +1,37 @@
|
|||
import BaseSchema from '@ioc:Adonis/Lucid/Schema';
|
||||
|
||||
export default class MimeTypes extends BaseSchema {
|
||||
protected tableName = 'mime_types';
|
||||
|
||||
public async up() {
|
||||
this.schema.createTable(this.tableName, (table) => {
|
||||
table.increments('id').primary().defaultTo("nextval('mime_types_id_seq')");
|
||||
table.string('name', 255).notNullable();
|
||||
table.string('file_extension', 255).notNullable();
|
||||
table.boolean('enabled').notNullable().defaultTo(false);
|
||||
table.timestamp('created_at', { useTz: false }).nullable();
|
||||
table.timestamp('updated_at', { useTz: false }).nullable();
|
||||
});
|
||||
}
|
||||
|
||||
public async down() {
|
||||
this.schema.dropTable(this.tableName);
|
||||
}
|
||||
}
|
||||
|
||||
// -- Table: mime_types
|
||||
// CREATE TABLE IF NOT EXISTS mime_types
|
||||
// (
|
||||
// id integer NOT NULL DEFAULT nextval('mime_types_id_seq'::regclass),
|
||||
// name character varying(255) NOT NULL,
|
||||
// file_extension character varying(255) NOT NULL,
|
||||
// enabled boolean NOT NULL DEFAULT false,
|
||||
// created_at timestamp(0) without time zone,
|
||||
// updated_at timestamp(0) without time zone,
|
||||
// CONSTRAINT mime_types_pkey PRIMARY KEY (id)
|
||||
// )
|
||||
// ALTER TABLE IF EXISTS mime_types
|
||||
// OWNER to tethys_admin;
|
||||
// REVOKE ALL ON TABLE mime_types FROM tethys_app;
|
||||
// GRANT ALL ON TABLE mime_types TO tethys_admin;
|
||||
// GRANT DELETE, UPDATE, INSERT, SELECT ON TABLE mime_types TO tethys_app;
|
41
database/migrations/lookup_2_languages.ts
Normal file
41
database/migrations/lookup_2_languages.ts
Normal file
|
@ -0,0 +1,41 @@
|
|||
import BaseSchema from '@ioc:Adonis/Lucid/Schema';
|
||||
|
||||
export default class Languages extends BaseSchema {
|
||||
protected tableName = 'languages';
|
||||
|
||||
public async up() {
|
||||
this.schema.createTable(this.tableName, (table) => {
|
||||
table.increments('id').primary().defaultTo("nextval('languages_id_seq')");
|
||||
table.string('part2_b', 3).notNullable();
|
||||
table.string('part2_t', 3).notNullable();
|
||||
table.string('part1', 2).notNullable();
|
||||
table.string('scope', 20).notNullable();
|
||||
table.string('type', 20).notNullable();
|
||||
table.string('ref_name', 150).notNullable();
|
||||
table.boolean('active').notNullable().defaultTo(true);
|
||||
});
|
||||
}
|
||||
|
||||
public async down() {
|
||||
this.schema.dropTable(this.tableName);
|
||||
}
|
||||
}
|
||||
|
||||
// -- Table: languages
|
||||
// CREATE TABLE IF NOT EXISTS languages
|
||||
// (
|
||||
// id integer NOT NULL DEFAULT nextval('languages_id_seq'::regclass),
|
||||
// part2_b character varying(3) NOT NULL,
|
||||
// part2_t character varying(3) NOT NULL,
|
||||
// part1 character varying(2) NOT NULL,
|
||||
// scope character varying(20) NOT NULL,
|
||||
// type character varying(20) NOT NULL,
|
||||
// ref_name character varying(150) NOT NULL,
|
||||
// active boolean NOT NULL DEFAULT true,
|
||||
// CONSTRAINT languages_pkey PRIMARY KEY (id)
|
||||
// )
|
||||
// ALTER TABLE IF EXISTS languages
|
||||
// OWNER to tethys_admin;
|
||||
// REVOKE ALL ON TABLE languages FROM tethys_app;
|
||||
// GRANT ALL ON TABLE languages TO tethys_admin;
|
||||
// GRANT DELETE, UPDATE, INSERT, SELECT ON TABLE languages TO tethys_app;
|
33
database/migrations/lookup_3_document_xml_cache.ts
Normal file
33
database/migrations/lookup_3_document_xml_cache.ts
Normal file
|
@ -0,0 +1,33 @@
|
|||
import BaseSchema from '@ioc:Adonis/Lucid/Schema';
|
||||
|
||||
export default class DocumentXmlCache extends BaseSchema {
|
||||
protected tableName = 'document_xml_cache';
|
||||
|
||||
public async up() {
|
||||
this.schema.createTable(this.tableName, (table) => {
|
||||
table.increments('document_id').primary();
|
||||
table.integer('xml_version').notNullable();
|
||||
table.string('server_date_modified', 50);
|
||||
table.text('xml_data');
|
||||
});
|
||||
}
|
||||
|
||||
public async down() {
|
||||
this.schema.dropTable(this.tableName);
|
||||
}
|
||||
}
|
||||
|
||||
// -- Table: document_xml_cache
|
||||
// CREATE TABLE IF NOT EXISTS document_xml_cache
|
||||
// (
|
||||
// document_id integer NOT NULL,
|
||||
// xml_version integer NOT NULL,
|
||||
// server_date_modified character varying(50),
|
||||
// xml_data text,
|
||||
// CONSTRAINT document_xml_cache_pkey PRIMARY KEY (document_id)
|
||||
// )
|
||||
// ALTER TABLE IF EXISTS document_xml_cache
|
||||
// OWNER to tethys_admin;
|
||||
// REVOKE ALL ON TABLE document_xml_cache FROM tethys_app;
|
||||
// GRANT ALL ON TABLE document_xml_cache TO tethys_admin;
|
||||
// GRANT DELETE, UPDATE, INSERT, SELECT ON TABLE document_xml_cache TO tethys_app;
|
32
database/migrations/runMigrationsDocker.txt
Normal file
32
database/migrations/runMigrationsDocker.txt
Normal file
|
@ -0,0 +1,32 @@
|
|||
|
||||
|
||||
|
||||
docker exec -it tethys_db /bin/bash
|
||||
su -l postgres
|
||||
psql
|
||||
drop database test with (force);
|
||||
create database test;
|
||||
\q
|
||||
psql -d test -U postgres -p 5432
|
||||
CREATE SCHEMA IF NOT EXISTS gba AUTHORIZATION tethys_admin;
|
||||
|
||||
CREATE EXTENSION adminpack;
|
||||
\q
|
||||
exit
|
||||
exit
|
||||
|
||||
|
||||
|
||||
node ace migration:run
|
||||
|
||||
❯ migrated database/migrations/acl_1_roles
|
||||
❯ migrated database/migrations/acl_2_permissions
|
||||
❯ migrated database/migrations/acl_3_role_has_permissions
|
||||
❯ migrated database/migrations/acl_4_accounts
|
||||
❯ migrated database/migrations/acl_5_link_accounts_roles
|
||||
❯ migrated database/migrations/files_1681720090636_documents
|
||||
❯ migrated database/migrations/files_1681720091636_document_files
|
||||
❯ migrated database/migrations/files_1681720092636_file_hashvalues
|
||||
|
||||
|
||||
node ace migration:rollback
|
515
package-lock.json
generated
515
package-lock.json
generated
|
@ -2662,9 +2662,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@eslint/js": {
|
||||
"version": "8.38.0",
|
||||
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.38.0.tgz",
|
||||
"integrity": "sha512-IoD2MfUnOV58ghIHCiil01PcohxjbYR/qCxsoC+xNgUwh1EY8jOOrYmu3d3a71+tJJ23uscEV4X2HJWMsPJu4g==",
|
||||
"version": "8.39.0",
|
||||
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.39.0.tgz",
|
||||
"integrity": "sha512-kf9RB0Fg7NZfap83B3QOqOGg9QmD9yBudqQXzzOtn3i4y7ZUXe5ONeW34Gwi+TxhH4mvj72R1Zc300KUMa9Bng==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
|
||||
|
@ -2723,9 +2723,9 @@
|
|||
"dev": true
|
||||
},
|
||||
"node_modules/@inertiajs/core": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/@inertiajs/core/-/core-1.0.2.tgz",
|
||||
"integrity": "sha512-IJryvuNBcOIEZqKaA1vsX++hroovrLfb4jezym/W6NqxpsacoOkCLqWFneiScTaa5IiU0Wv0Li3lCuxK7DwTEQ==",
|
||||
"version": "1.0.6",
|
||||
"resolved": "https://registry.npmjs.org/@inertiajs/core/-/core-1.0.6.tgz",
|
||||
"integrity": "sha512-l1fna4c9h2Tw8EWRGrYd8XVOsNI9rNGKLiAnTfbW+tbcpCtsoBIDmp2OZpeMsBw8tuO7qJV+V01G11nsajrJdQ==",
|
||||
"dependencies": {
|
||||
"axios": "^1.2.0",
|
||||
"deepmerge": "^4.0.0",
|
||||
|
@ -2734,9 +2734,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@inertiajs/core/node_modules/axios": {
|
||||
"version": "1.3.5",
|
||||
"resolved": "https://registry.npmjs.org/axios/-/axios-1.3.5.tgz",
|
||||
"integrity": "sha512-glL/PvG/E+xCWwV8S6nCHcrfg1exGx7vxyUIivIA1iL7BIh6bePylCfVHwp6k13ao7SATxB6imau2kqY+I67kw==",
|
||||
"version": "1.3.6",
|
||||
"resolved": "https://registry.npmjs.org/axios/-/axios-1.3.6.tgz",
|
||||
"integrity": "sha512-PEcdkk7JcdPiMDkvM4K6ZBRYq9keuVJsToxm2zQIM70Qqo2WHTdJZMXcG9X+RmRp2VPNUQC8W1RAGbgt6b1yMg==",
|
||||
"dependencies": {
|
||||
"follow-redirects": "^1.15.0",
|
||||
"form-data": "^4.0.0",
|
||||
|
@ -2754,11 +2754,11 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@inertiajs/vue3": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/@inertiajs/vue3/-/vue3-1.0.2.tgz",
|
||||
"integrity": "sha512-8LU6fd3BcmmxN7kHWgF06zKXnqZibi3+2UJ5Im1WsMXfqZO4jwaz5qFU2NjOBQEgcm5t+FNv1fbAESGEC8eezg==",
|
||||
"version": "1.0.6",
|
||||
"resolved": "https://registry.npmjs.org/@inertiajs/vue3/-/vue3-1.0.6.tgz",
|
||||
"integrity": "sha512-s5I0SMm687RTH7L1sJ06tYLRJIxmYN5Y83fBKfP+ThnleBAjWq4kT1eMGXPWxvL8T7qu6rIjkrx4NsG89st4DA==",
|
||||
"dependencies": {
|
||||
"@inertiajs/core": "1.0.2",
|
||||
"@inertiajs/core": "1.0.6",
|
||||
"lodash.clonedeep": "^4.5.0",
|
||||
"lodash.isequal": "^4.5.0"
|
||||
},
|
||||
|
@ -3346,9 +3346,9 @@
|
|||
"dev": true
|
||||
},
|
||||
"node_modules/@symfony/webpack-encore": {
|
||||
"version": "4.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@symfony/webpack-encore/-/webpack-encore-4.2.0.tgz",
|
||||
"integrity": "sha512-m0ZGm7vZpmc9pVKE7YBppS1tb9bK8r0qzOvRI2uCK7UfXtzfV3VgXr0VdTAlfmC72vvLKI+s9YJpiesOFbR6Aw==",
|
||||
"version": "4.3.0",
|
||||
"resolved": "https://registry.npmjs.org/@symfony/webpack-encore/-/webpack-encore-4.3.0.tgz",
|
||||
"integrity": "sha512-YhM6xh+aKmrWS7X7Y2CUDte4wiUm9WIo0w07KTwDLLQnOUdMHRf3wa680WXH/I3oHqD+grFa7BHPpR0sfmoGMQ==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@nuxt/friendly-errors-webpack-plugin": "^2.5.1",
|
||||
|
@ -3389,7 +3389,7 @@
|
|||
"@vue/babel-preset-jsx": "^1.0.0",
|
||||
"@vue/compiler-sfc": "^2.6 || ^3.0.2",
|
||||
"eslint": "^8.0.0",
|
||||
"eslint-webpack-plugin": "^3.1.0",
|
||||
"eslint-webpack-plugin": "^3.1.0 || ^4.0.0",
|
||||
"file-loader": "^6.0.0",
|
||||
"fork-ts-checker-webpack-plugin": "^7.0.0",
|
||||
"handlebars": "^4.7.7",
|
||||
|
@ -3403,7 +3403,7 @@
|
|||
"stylus": "^0.58.1",
|
||||
"stylus-loader": "^7.0.0",
|
||||
"ts-loader": "^9.0.0",
|
||||
"typescript": "^4.2.2",
|
||||
"typescript": "^4.2.2 || ^5.0.0",
|
||||
"vue": "^2.6 || ^3.2.14",
|
||||
"vue-loader": "^15.0.11 || ^17.0.0",
|
||||
"vue-template-compiler": "^2.5",
|
||||
|
@ -3709,9 +3709,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@types/estree": {
|
||||
"version": "0.0.51",
|
||||
"resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz",
|
||||
"integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==",
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz",
|
||||
"integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==",
|
||||
"dev": true,
|
||||
"peer": true
|
||||
},
|
||||
|
@ -3823,9 +3823,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@types/lodash": {
|
||||
"version": "4.14.192",
|
||||
"resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.192.tgz",
|
||||
"integrity": "sha512-km+Vyn3BYm5ytMO13k9KTp27O75rbQ0NFw+U//g+PX7VZyjCioXaRFisqSIJRECljcTv73G3i6BpglNGHgUQ5A==",
|
||||
"version": "4.14.194",
|
||||
"resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.194.tgz",
|
||||
"integrity": "sha512-r22s9tAS7imvBt2lyHC9B8AGwWnXaYb1tY09oyLkXDs4vArpYJzw09nj8MLx5VfciBPGIb+ZwG0ssYnEPJxn/g==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/@types/lodash-es": {
|
||||
|
@ -3860,9 +3860,9 @@
|
|||
"dev": true
|
||||
},
|
||||
"node_modules/@types/node": {
|
||||
"version": "18.15.11",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
|
||||
"integrity": "sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q=="
|
||||
"version": "18.16.0",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-18.16.0.tgz",
|
||||
"integrity": "sha512-BsAaKhB+7X+H4GnSjGhJG9Qi8Tw+inU9nJDwmD5CgOmBLEI6ArdhikpLX7DjbjDRDTbqZzU2LSQNZg8WGPiSZQ=="
|
||||
},
|
||||
"node_modules/@types/pino": {
|
||||
"version": "6.3.12",
|
||||
|
@ -3974,9 +3974,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@types/validator": {
|
||||
"version": "13.7.14",
|
||||
"resolved": "https://registry.npmjs.org/@types/validator/-/validator-13.7.14.tgz",
|
||||
"integrity": "sha512-J6OAed6rhN6zyqL9Of6ZMamhlsOEU/poBVvbHr/dKOYKTeuYYMlDkMv+b6UUV0o2i0tw73cgyv/97WTWaUl0/g=="
|
||||
"version": "13.7.15",
|
||||
"resolved": "https://registry.npmjs.org/@types/validator/-/validator-13.7.15.tgz",
|
||||
"integrity": "sha512-yeinDVQunb03AEP8luErFcyf/7Lf7AzKCD0NXfgVoGCCQDNpZET8Jgq74oBgqKld3hafLbfzt/3inUdQvaFeXQ=="
|
||||
},
|
||||
"node_modules/@types/ws": {
|
||||
"version": "8.5.4",
|
||||
|
@ -4003,15 +4003,15 @@
|
|||
"dev": true
|
||||
},
|
||||
"node_modules/@typescript-eslint/eslint-plugin": {
|
||||
"version": "5.58.0",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.58.0.tgz",
|
||||
"integrity": "sha512-vxHvLhH0qgBd3/tW6/VccptSfc8FxPQIkmNTVLWcCOVqSBvqpnKkBTYrhcGlXfSnd78azwe+PsjYFj0X34/njA==",
|
||||
"version": "5.59.0",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.59.0.tgz",
|
||||
"integrity": "sha512-p0QgrEyrxAWBecR56gyn3wkG15TJdI//eetInP3zYRewDh0XS+DhB3VUAd3QqvziFsfaQIoIuZMxZRB7vXYaYw==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@eslint-community/regexpp": "^4.4.0",
|
||||
"@typescript-eslint/scope-manager": "5.58.0",
|
||||
"@typescript-eslint/type-utils": "5.58.0",
|
||||
"@typescript-eslint/utils": "5.58.0",
|
||||
"@typescript-eslint/scope-manager": "5.59.0",
|
||||
"@typescript-eslint/type-utils": "5.59.0",
|
||||
"@typescript-eslint/utils": "5.59.0",
|
||||
"debug": "^4.3.4",
|
||||
"grapheme-splitter": "^1.0.4",
|
||||
"ignore": "^5.2.0",
|
||||
|
@ -4037,14 +4037,14 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@typescript-eslint/parser": {
|
||||
"version": "5.58.0",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.58.0.tgz",
|
||||
"integrity": "sha512-ixaM3gRtlfrKzP8N6lRhBbjTow1t6ztfBvQNGuRM8qH1bjFFXIJ35XY+FC0RRBKn3C6cT+7VW1y8tNm7DwPHDQ==",
|
||||
"version": "5.59.0",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.59.0.tgz",
|
||||
"integrity": "sha512-qK9TZ70eJtjojSUMrrEwA9ZDQ4N0e/AuoOIgXuNBorXYcBDk397D2r5MIe1B3cok/oCtdNC5j+lUUpVB+Dpb+w==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@typescript-eslint/scope-manager": "5.58.0",
|
||||
"@typescript-eslint/types": "5.58.0",
|
||||
"@typescript-eslint/typescript-estree": "5.58.0",
|
||||
"@typescript-eslint/scope-manager": "5.59.0",
|
||||
"@typescript-eslint/types": "5.59.0",
|
||||
"@typescript-eslint/typescript-estree": "5.59.0",
|
||||
"debug": "^4.3.4"
|
||||
},
|
||||
"engines": {
|
||||
|
@ -4064,13 +4064,13 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@typescript-eslint/scope-manager": {
|
||||
"version": "5.58.0",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.58.0.tgz",
|
||||
"integrity": "sha512-b+w8ypN5CFvrXWQb9Ow9T4/6LC2MikNf1viLkYTiTbkQl46CnR69w7lajz1icW0TBsYmlpg+mRzFJ4LEJ8X9NA==",
|
||||
"version": "5.59.0",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.59.0.tgz",
|
||||
"integrity": "sha512-tsoldKaMh7izN6BvkK6zRMINj4Z2d6gGhO2UsI8zGZY3XhLq1DndP3Ycjhi1JwdwPRwtLMW4EFPgpuKhbCGOvQ==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@typescript-eslint/types": "5.58.0",
|
||||
"@typescript-eslint/visitor-keys": "5.58.0"
|
||||
"@typescript-eslint/types": "5.59.0",
|
||||
"@typescript-eslint/visitor-keys": "5.59.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
|
||||
|
@ -4081,13 +4081,13 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@typescript-eslint/type-utils": {
|
||||
"version": "5.58.0",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.58.0.tgz",
|
||||
"integrity": "sha512-FF5vP/SKAFJ+LmR9PENql7fQVVgGDOS+dq3j+cKl9iW/9VuZC/8CFmzIP0DLKXfWKpRHawJiG70rVH+xZZbp8w==",
|
||||
"version": "5.59.0",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.59.0.tgz",
|
||||
"integrity": "sha512-d/B6VSWnZwu70kcKQSCqjcXpVH+7ABKH8P1KNn4K7j5PXXuycZTPXF44Nui0TEm6rbWGi8kc78xRgOC4n7xFgA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@typescript-eslint/typescript-estree": "5.58.0",
|
||||
"@typescript-eslint/utils": "5.58.0",
|
||||
"@typescript-eslint/typescript-estree": "5.59.0",
|
||||
"@typescript-eslint/utils": "5.59.0",
|
||||
"debug": "^4.3.4",
|
||||
"tsutils": "^3.21.0"
|
||||
},
|
||||
|
@ -4108,9 +4108,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@typescript-eslint/types": {
|
||||
"version": "5.58.0",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.58.0.tgz",
|
||||
"integrity": "sha512-JYV4eITHPzVQMnHZcYJXl2ZloC7thuUHrcUmxtzvItyKPvQ50kb9QXBkgNAt90OYMqwaodQh2kHutWZl1fc+1g==",
|
||||
"version": "5.59.0",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.59.0.tgz",
|
||||
"integrity": "sha512-yR2h1NotF23xFFYKHZs17QJnB51J/s+ud4PYU4MqdZbzeNxpgUr05+dNeCN/bb6raslHvGdd6BFCkVhpPk/ZeA==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
|
||||
|
@ -4121,13 +4121,13 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@typescript-eslint/typescript-estree": {
|
||||
"version": "5.58.0",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.58.0.tgz",
|
||||
"integrity": "sha512-cRACvGTodA+UxnYM2uwA2KCwRL7VAzo45syNysqlMyNyjw0Z35Icc9ihPJZjIYuA5bXJYiJ2YGUB59BqlOZT1Q==",
|
||||
"version": "5.59.0",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.0.tgz",
|
||||
"integrity": "sha512-sUNnktjmI8DyGzPdZ8dRwW741zopGxltGs/SAPgGL/AAgDpiLsCFLcMNSpbfXfmnNeHmK9h3wGmCkGRGAoUZAg==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@typescript-eslint/types": "5.58.0",
|
||||
"@typescript-eslint/visitor-keys": "5.58.0",
|
||||
"@typescript-eslint/types": "5.59.0",
|
||||
"@typescript-eslint/visitor-keys": "5.59.0",
|
||||
"debug": "^4.3.4",
|
||||
"globby": "^11.1.0",
|
||||
"is-glob": "^4.0.3",
|
||||
|
@ -4198,17 +4198,17 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@typescript-eslint/utils": {
|
||||
"version": "5.58.0",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.58.0.tgz",
|
||||
"integrity": "sha512-gAmLOTFXMXOC+zP1fsqm3VceKSBQJNzV385Ok3+yzlavNHZoedajjS4UyS21gabJYcobuigQPs/z71A9MdJFqQ==",
|
||||
"version": "5.59.0",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.59.0.tgz",
|
||||
"integrity": "sha512-GGLFd+86drlHSvPgN/el6dRQNYYGOvRSDVydsUaQluwIW3HvbXuxyuD5JETvBt/9qGYe+lOrDk6gRrWOHb/FvA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@eslint-community/eslint-utils": "^4.2.0",
|
||||
"@types/json-schema": "^7.0.9",
|
||||
"@types/semver": "^7.3.12",
|
||||
"@typescript-eslint/scope-manager": "5.58.0",
|
||||
"@typescript-eslint/types": "5.58.0",
|
||||
"@typescript-eslint/typescript-estree": "5.58.0",
|
||||
"@typescript-eslint/scope-manager": "5.59.0",
|
||||
"@typescript-eslint/types": "5.59.0",
|
||||
"@typescript-eslint/typescript-estree": "5.59.0",
|
||||
"eslint-scope": "^5.1.1",
|
||||
"semver": "^7.3.7"
|
||||
},
|
||||
|
@ -4246,12 +4246,12 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@typescript-eslint/visitor-keys": {
|
||||
"version": "5.58.0",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.58.0.tgz",
|
||||
"integrity": "sha512-/fBraTlPj0jwdyTwLyrRTxv/3lnU2H96pNTVM6z3esTWLtA5MZ9ghSMJ7Rb+TtUAdtEw9EyJzJ0EydIMKxQ9gA==",
|
||||
"version": "5.59.0",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.0.tgz",
|
||||
"integrity": "sha512-qZ3iXxQhanchCeaExlKPV3gDQFxMUmU35xfd5eCXB6+kUw1TUAbIy2n7QIrwz9s98DQLzNWyHp61fY0da4ZcbA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@typescript-eslint/types": "5.58.0",
|
||||
"@typescript-eslint/types": "5.59.0",
|
||||
"eslint-visitor-keys": "^3.3.0"
|
||||
},
|
||||
"engines": {
|
||||
|
@ -4390,73 +4390,73 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@webassemblyjs/ast": {
|
||||
"version": "1.11.1",
|
||||
"resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz",
|
||||
"integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==",
|
||||
"version": "1.11.5",
|
||||
"resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.5.tgz",
|
||||
"integrity": "sha512-LHY/GSAZZRpsNQH+/oHqhRQ5FT7eoULcBqgfyTB5nQHogFnK3/7QoN7dLnwSE/JkUAF0SrRuclT7ODqMFtWxxQ==",
|
||||
"dev": true,
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@webassemblyjs/helper-numbers": "1.11.1",
|
||||
"@webassemblyjs/helper-wasm-bytecode": "1.11.1"
|
||||
"@webassemblyjs/helper-numbers": "1.11.5",
|
||||
"@webassemblyjs/helper-wasm-bytecode": "1.11.5"
|
||||
}
|
||||
},
|
||||
"node_modules/@webassemblyjs/floating-point-hex-parser": {
|
||||
"version": "1.11.1",
|
||||
"resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz",
|
||||
"integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==",
|
||||
"version": "1.11.5",
|
||||
"resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.5.tgz",
|
||||
"integrity": "sha512-1j1zTIC5EZOtCplMBG/IEwLtUojtwFVwdyVMbL/hwWqbzlQoJsWCOavrdnLkemwNoC/EOwtUFch3fuo+cbcXYQ==",
|
||||
"dev": true,
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/@webassemblyjs/helper-api-error": {
|
||||
"version": "1.11.1",
|
||||
"resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz",
|
||||
"integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==",
|
||||
"version": "1.11.5",
|
||||
"resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.5.tgz",
|
||||
"integrity": "sha512-L65bDPmfpY0+yFrsgz8b6LhXmbbs38OnwDCf6NpnMUYqa+ENfE5Dq9E42ny0qz/PdR0LJyq/T5YijPnU8AXEpA==",
|
||||
"dev": true,
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/@webassemblyjs/helper-buffer": {
|
||||
"version": "1.11.1",
|
||||
"resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz",
|
||||
"integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==",
|
||||
"version": "1.11.5",
|
||||
"resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.5.tgz",
|
||||
"integrity": "sha512-fDKo1gstwFFSfacIeH5KfwzjykIE6ldh1iH9Y/8YkAZrhmu4TctqYjSh7t0K2VyDSXOZJ1MLhht/k9IvYGcIxg==",
|
||||
"dev": true,
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/@webassemblyjs/helper-numbers": {
|
||||
"version": "1.11.1",
|
||||
"resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz",
|
||||
"integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==",
|
||||
"version": "1.11.5",
|
||||
"resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.5.tgz",
|
||||
"integrity": "sha512-DhykHXM0ZABqfIGYNv93A5KKDw/+ywBFnuWybZZWcuzWHfbp21wUfRkbtz7dMGwGgT4iXjWuhRMA2Mzod6W4WA==",
|
||||
"dev": true,
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@webassemblyjs/floating-point-hex-parser": "1.11.1",
|
||||
"@webassemblyjs/helper-api-error": "1.11.1",
|
||||
"@webassemblyjs/floating-point-hex-parser": "1.11.5",
|
||||
"@webassemblyjs/helper-api-error": "1.11.5",
|
||||
"@xtuc/long": "4.2.2"
|
||||
}
|
||||
},
|
||||
"node_modules/@webassemblyjs/helper-wasm-bytecode": {
|
||||
"version": "1.11.1",
|
||||
"resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz",
|
||||
"integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==",
|
||||
"version": "1.11.5",
|
||||
"resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.5.tgz",
|
||||
"integrity": "sha512-oC4Qa0bNcqnjAowFn7MPCETQgDYytpsfvz4ujZz63Zu/a/v71HeCAAmZsgZ3YVKec3zSPYytG3/PrRCqbtcAvA==",
|
||||
"dev": true,
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/@webassemblyjs/helper-wasm-section": {
|
||||
"version": "1.11.1",
|
||||
"resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz",
|
||||
"integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==",
|
||||
"version": "1.11.5",
|
||||
"resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.5.tgz",
|
||||
"integrity": "sha512-uEoThA1LN2NA+K3B9wDo3yKlBfVtC6rh0i4/6hvbz071E8gTNZD/pT0MsBf7MeD6KbApMSkaAK0XeKyOZC7CIA==",
|
||||
"dev": true,
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@webassemblyjs/ast": "1.11.1",
|
||||
"@webassemblyjs/helper-buffer": "1.11.1",
|
||||
"@webassemblyjs/helper-wasm-bytecode": "1.11.1",
|
||||
"@webassemblyjs/wasm-gen": "1.11.1"
|
||||
"@webassemblyjs/ast": "1.11.5",
|
||||
"@webassemblyjs/helper-buffer": "1.11.5",
|
||||
"@webassemblyjs/helper-wasm-bytecode": "1.11.5",
|
||||
"@webassemblyjs/wasm-gen": "1.11.5"
|
||||
}
|
||||
},
|
||||
"node_modules/@webassemblyjs/ieee754": {
|
||||
"version": "1.11.1",
|
||||
"resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz",
|
||||
"integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==",
|
||||
"version": "1.11.5",
|
||||
"resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.5.tgz",
|
||||
"integrity": "sha512-37aGq6qVL8A8oPbPrSGMBcp38YZFXcHfiROflJn9jxSdSMMM5dS5P/9e2/TpaJuhE+wFrbukN2WI6Hw9MH5acg==",
|
||||
"dev": true,
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
|
@ -4464,9 +4464,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@webassemblyjs/leb128": {
|
||||
"version": "1.11.1",
|
||||
"resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz",
|
||||
"integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==",
|
||||
"version": "1.11.5",
|
||||
"resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.5.tgz",
|
||||
"integrity": "sha512-ajqrRSXaTJoPW+xmkfYN6l8VIeNnR4vBOTQO9HzR7IygoCcKWkICbKFbVTNMjMgMREqXEr0+2M6zukzM47ZUfQ==",
|
||||
"dev": true,
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
|
@ -4474,79 +4474,79 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@webassemblyjs/utf8": {
|
||||
"version": "1.11.1",
|
||||
"resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz",
|
||||
"integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==",
|
||||
"version": "1.11.5",
|
||||
"resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.5.tgz",
|
||||
"integrity": "sha512-WiOhulHKTZU5UPlRl53gHR8OxdGsSOxqfpqWeA2FmcwBMaoEdz6b2x2si3IwC9/fSPLfe8pBMRTHVMk5nlwnFQ==",
|
||||
"dev": true,
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/@webassemblyjs/wasm-edit": {
|
||||
"version": "1.11.1",
|
||||
"resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz",
|
||||
"integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==",
|
||||
"version": "1.11.5",
|
||||
"resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.5.tgz",
|
||||
"integrity": "sha512-C0p9D2fAu3Twwqvygvf42iGCQ4av8MFBLiTb+08SZ4cEdwzWx9QeAHDo1E2k+9s/0w1DM40oflJOpkZ8jW4HCQ==",
|
||||
"dev": true,
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@webassemblyjs/ast": "1.11.1",
|
||||
"@webassemblyjs/helper-buffer": "1.11.1",
|
||||
"@webassemblyjs/helper-wasm-bytecode": "1.11.1",
|
||||
"@webassemblyjs/helper-wasm-section": "1.11.1",
|
||||
"@webassemblyjs/wasm-gen": "1.11.1",
|
||||
"@webassemblyjs/wasm-opt": "1.11.1",
|
||||
"@webassemblyjs/wasm-parser": "1.11.1",
|
||||
"@webassemblyjs/wast-printer": "1.11.1"
|
||||
"@webassemblyjs/ast": "1.11.5",
|
||||
"@webassemblyjs/helper-buffer": "1.11.5",
|
||||
"@webassemblyjs/helper-wasm-bytecode": "1.11.5",
|
||||
"@webassemblyjs/helper-wasm-section": "1.11.5",
|
||||
"@webassemblyjs/wasm-gen": "1.11.5",
|
||||
"@webassemblyjs/wasm-opt": "1.11.5",
|
||||
"@webassemblyjs/wasm-parser": "1.11.5",
|
||||
"@webassemblyjs/wast-printer": "1.11.5"
|
||||
}
|
||||
},
|
||||
"node_modules/@webassemblyjs/wasm-gen": {
|
||||
"version": "1.11.1",
|
||||
"resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz",
|
||||
"integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==",
|
||||
"version": "1.11.5",
|
||||
"resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.5.tgz",
|
||||
"integrity": "sha512-14vteRlRjxLK9eSyYFvw1K8Vv+iPdZU0Aebk3j6oB8TQiQYuO6hj9s4d7qf6f2HJr2khzvNldAFG13CgdkAIfA==",
|
||||
"dev": true,
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@webassemblyjs/ast": "1.11.1",
|
||||
"@webassemblyjs/helper-wasm-bytecode": "1.11.1",
|
||||
"@webassemblyjs/ieee754": "1.11.1",
|
||||
"@webassemblyjs/leb128": "1.11.1",
|
||||
"@webassemblyjs/utf8": "1.11.1"
|
||||
"@webassemblyjs/ast": "1.11.5",
|
||||
"@webassemblyjs/helper-wasm-bytecode": "1.11.5",
|
||||
"@webassemblyjs/ieee754": "1.11.5",
|
||||
"@webassemblyjs/leb128": "1.11.5",
|
||||
"@webassemblyjs/utf8": "1.11.5"
|
||||
}
|
||||
},
|
||||
"node_modules/@webassemblyjs/wasm-opt": {
|
||||
"version": "1.11.1",
|
||||
"resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz",
|
||||
"integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==",
|
||||
"version": "1.11.5",
|
||||
"resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.5.tgz",
|
||||
"integrity": "sha512-tcKwlIXstBQgbKy1MlbDMlXaxpucn42eb17H29rawYLxm5+MsEmgPzeCP8B1Cl69hCice8LeKgZpRUAPtqYPgw==",
|
||||
"dev": true,
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@webassemblyjs/ast": "1.11.1",
|
||||
"@webassemblyjs/helper-buffer": "1.11.1",
|
||||
"@webassemblyjs/wasm-gen": "1.11.1",
|
||||
"@webassemblyjs/wasm-parser": "1.11.1"
|
||||
"@webassemblyjs/ast": "1.11.5",
|
||||
"@webassemblyjs/helper-buffer": "1.11.5",
|
||||
"@webassemblyjs/wasm-gen": "1.11.5",
|
||||
"@webassemblyjs/wasm-parser": "1.11.5"
|
||||
}
|
||||
},
|
||||
"node_modules/@webassemblyjs/wasm-parser": {
|
||||
"version": "1.11.1",
|
||||
"resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz",
|
||||
"integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==",
|
||||
"version": "1.11.5",
|
||||
"resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.5.tgz",
|
||||
"integrity": "sha512-SVXUIwsLQlc8srSD7jejsfTU83g7pIGr2YYNb9oHdtldSxaOhvA5xwvIiWIfcX8PlSakgqMXsLpLfbbJ4cBYew==",
|
||||
"dev": true,
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@webassemblyjs/ast": "1.11.1",
|
||||
"@webassemblyjs/helper-api-error": "1.11.1",
|
||||
"@webassemblyjs/helper-wasm-bytecode": "1.11.1",
|
||||
"@webassemblyjs/ieee754": "1.11.1",
|
||||
"@webassemblyjs/leb128": "1.11.1",
|
||||
"@webassemblyjs/utf8": "1.11.1"
|
||||
"@webassemblyjs/ast": "1.11.5",
|
||||
"@webassemblyjs/helper-api-error": "1.11.5",
|
||||
"@webassemblyjs/helper-wasm-bytecode": "1.11.5",
|
||||
"@webassemblyjs/ieee754": "1.11.5",
|
||||
"@webassemblyjs/leb128": "1.11.5",
|
||||
"@webassemblyjs/utf8": "1.11.5"
|
||||
}
|
||||
},
|
||||
"node_modules/@webassemblyjs/wast-printer": {
|
||||
"version": "1.11.1",
|
||||
"resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz",
|
||||
"integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==",
|
||||
"version": "1.11.5",
|
||||
"resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.5.tgz",
|
||||
"integrity": "sha512-f7Pq3wvg3GSPUPzR0F6bmI89Hdb+u9WXrSKc4v+N0aV0q6r42WoF92Jp2jEorBEBRoRNXgjp53nBniDXcqZYPA==",
|
||||
"dev": true,
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@webassemblyjs/ast": "1.11.1",
|
||||
"@webassemblyjs/ast": "1.11.5",
|
||||
"@xtuc/long": "4.2.2"
|
||||
}
|
||||
},
|
||||
|
@ -4579,9 +4579,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@webpack-cli/serve": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.1.tgz",
|
||||
"integrity": "sha512-0G7tNyS+yW8TdgHwZKlDWYXFA6OJQnoLCQvYKkQP0Q2X205PSQ6RNUj0M+1OB/9gRQaUZ/ccYfaxd0nhaWKfjw==",
|
||||
"version": "2.0.2",
|
||||
"resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.2.tgz",
|
||||
"integrity": "sha512-S9h3GmOmzUseyeFW3tYNnWS7gNUuwxZ3mmMq0JyW78Vx1SGKPSkt5bT4pB0rUnVfHjP0EL9gW2bOzmtiTfQt0A==",
|
||||
"dev": true,
|
||||
"peer": true,
|
||||
"engines": {
|
||||
|
@ -5856,9 +5856,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/caniuse-lite": {
|
||||
"version": "1.0.30001477",
|
||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001477.tgz",
|
||||
"integrity": "sha512-lZim4iUHhGcy5p+Ri/G7m84hJwncj+Kz7S5aD4hoQfslKZJgt0tHc/hafVbqHC5bbhHb+mrW2JOUHkI5KH7toQ==",
|
||||
"version": "1.0.30001481",
|
||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001481.tgz",
|
||||
"integrity": "sha512-KCqHwRnaa1InZBtqXzP98LPg0ajCVujMKjqKDhZEthIpAsJl/YEIa3YvXjGXPVqzZVguccuu7ga9KOE1J9rKPQ==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
|
@ -6499,9 +6499,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/core-js-compat": {
|
||||
"version": "3.30.0",
|
||||
"resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.30.0.tgz",
|
||||
"integrity": "sha512-P5A2h/9mRYZFIAP+5Ab8ns6083IyVpSclU74UNvbGVQ8VM7n3n3/g2yF3AkKQ9NXz2O+ioxLbEWKnDtgsFamhg==",
|
||||
"version": "3.30.1",
|
||||
"resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.30.1.tgz",
|
||||
"integrity": "sha512-d690npR7MC6P0gq4npTl5n2VQeNAmUrJ90n+MHiKS7W2+xno4o3F5GDEuylSdi6EJ3VssibSGXOa1r3YXD3Mhw==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"browserslist": "^4.21.5"
|
||||
|
@ -6823,15 +6823,15 @@
|
|||
"dev": true
|
||||
},
|
||||
"node_modules/css-minimizer-webpack-plugin/node_modules/schema-utils": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz",
|
||||
"integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==",
|
||||
"version": "4.0.1",
|
||||
"resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.1.tgz",
|
||||
"integrity": "sha512-lELhBAAly9NowEsX0yZBlw9ahZG+sK/1RJ21EpzdYHKEs13Vku3LJ+MIPhh4sMs0oCCeufZQEQbMekiA4vuVIQ==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@types/json-schema": "^7.0.9",
|
||||
"ajv": "^8.8.0",
|
||||
"ajv": "^8.9.0",
|
||||
"ajv-formats": "^2.1.1",
|
||||
"ajv-keywords": "^5.0.0"
|
||||
"ajv-keywords": "^5.1.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 12.13.0"
|
||||
|
@ -7344,9 +7344,9 @@
|
|||
"dev": true
|
||||
},
|
||||
"node_modules/dns-packet": {
|
||||
"version": "5.5.0",
|
||||
"resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.5.0.tgz",
|
||||
"integrity": "sha512-USawdAUzRkV6xrqTjiAEp6M9YagZEzWcSUaZTcIFAiyQWW1SoI6KyId8y2+/71wbgHKQAKd+iupLv4YvEwYWvA==",
|
||||
"version": "5.6.0",
|
||||
"resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.0.tgz",
|
||||
"integrity": "sha512-rza3UH1LwdHh9qyPXp8lkwpjSNk/AMD3dPytUoRoqnypDUhY0xvbdmVhWOfxO68frEfV9BU8V12Ez7ZsHGZpCQ==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@leichtgewicht/ip-codec": "^2.0.1"
|
||||
|
@ -7588,9 +7588,9 @@
|
|||
"integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow=="
|
||||
},
|
||||
"node_modules/electron-to-chromium": {
|
||||
"version": "1.4.357",
|
||||
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.357.tgz",
|
||||
"integrity": "sha512-UTkCbNTAcGXABmEnQrGcW4m3cG6fcyBfD4KDF0iyEAlbrGZiY9dmslyDAGOD1Kr5biN2F743Y30aRCOtau35Vw==",
|
||||
"version": "1.4.369",
|
||||
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.369.tgz",
|
||||
"integrity": "sha512-LfxbHXdA/S+qyoTEA4EbhxGjrxx7WK2h6yb5K2v0UCOufUKX+VZaHbl3svlzZfv9sGseym/g3Ne4DpsgRULmqg==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/emittery": {
|
||||
|
@ -7636,9 +7636,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/enhanced-resolve": {
|
||||
"version": "5.12.0",
|
||||
"resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.12.0.tgz",
|
||||
"integrity": "sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==",
|
||||
"version": "5.13.0",
|
||||
"resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.13.0.tgz",
|
||||
"integrity": "sha512-eyV8f0y1+bzyfh8xAwW/WTSZpLbjhqc4ne9eGSH4Zo2ejdyiNG9pU6mf9DG8a7+Auk6MFTlNOT4Y2y/9k8GKVg==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"graceful-fs": "^4.2.4",
|
||||
|
@ -7738,15 +7738,15 @@
|
|||
}
|
||||
},
|
||||
"node_modules/eslint": {
|
||||
"version": "8.38.0",
|
||||
"resolved": "https://registry.npmjs.org/eslint/-/eslint-8.38.0.tgz",
|
||||
"integrity": "sha512-pIdsD2jwlUGf/U38Jv97t8lq6HpaU/G9NKbYmpWpZGw3LdTNhZLbJePqxOXGB5+JEKfOPU/XLxYxFh03nr1KTg==",
|
||||
"version": "8.39.0",
|
||||
"resolved": "https://registry.npmjs.org/eslint/-/eslint-8.39.0.tgz",
|
||||
"integrity": "sha512-mwiok6cy7KTW7rBpo05k6+p4YVZByLNjAZ/ACB9DRCu4YDRwjXI01tWHp6KAUWelsBetTxKK/2sHB0vdS8Z2Og==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@eslint-community/eslint-utils": "^4.2.0",
|
||||
"@eslint-community/regexpp": "^4.4.0",
|
||||
"@eslint/eslintrc": "^2.0.2",
|
||||
"@eslint/js": "8.38.0",
|
||||
"@eslint/js": "8.39.0",
|
||||
"@humanwhocodes/config-array": "^0.11.8",
|
||||
"@humanwhocodes/module-importer": "^1.0.1",
|
||||
"@nodelib/fs.walk": "^1.2.8",
|
||||
|
@ -7756,7 +7756,7 @@
|
|||
"debug": "^4.3.2",
|
||||
"doctrine": "^3.0.0",
|
||||
"escape-string-regexp": "^4.0.0",
|
||||
"eslint-scope": "^7.1.1",
|
||||
"eslint-scope": "^7.2.0",
|
||||
"eslint-visitor-keys": "^3.4.0",
|
||||
"espree": "^9.5.1",
|
||||
"esquery": "^1.4.2",
|
||||
|
@ -7844,9 +7844,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/eslint-scope": {
|
||||
"version": "7.1.1",
|
||||
"resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz",
|
||||
"integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==",
|
||||
"version": "7.2.0",
|
||||
"resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.0.tgz",
|
||||
"integrity": "sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"esrecurse": "^4.3.0",
|
||||
|
@ -7854,6 +7854,9 @@
|
|||
},
|
||||
"engines": {
|
||||
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://opencollective.com/eslint"
|
||||
}
|
||||
},
|
||||
"node_modules/eslint-visitor-keys": {
|
||||
|
@ -11100,9 +11103,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/memfs": {
|
||||
"version": "3.5.0",
|
||||
"resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.0.tgz",
|
||||
"integrity": "sha512-yK6o8xVJlQerz57kvPROwTMgx5WtGwC2ZxDtOUsnGl49rHjYkfQoPNZPCKH73VdLE1BwBu/+Fx/NL8NYMUw2aA==",
|
||||
"version": "3.5.1",
|
||||
"resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.1.tgz",
|
||||
"integrity": "sha512-UWbFJKvj5k+nETdteFndTpYxdeTMox/ULeqX5k/dpaQJCCFmj5EeKv3dBcyO2xmkRAx2vppRu5dVG7SOtsGOzA==",
|
||||
"dependencies": {
|
||||
"fs-monkey": "^1.0.3"
|
||||
},
|
||||
|
@ -11251,15 +11254,15 @@
|
|||
"dev": true
|
||||
},
|
||||
"node_modules/mini-css-extract-plugin/node_modules/schema-utils": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz",
|
||||
"integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==",
|
||||
"version": "4.0.1",
|
||||
"resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.1.tgz",
|
||||
"integrity": "sha512-lELhBAAly9NowEsX0yZBlw9ahZG+sK/1RJ21EpzdYHKEs13Vku3LJ+MIPhh4sMs0oCCeufZQEQbMekiA4vuVIQ==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@types/json-schema": "^7.0.9",
|
||||
"ajv": "^8.8.0",
|
||||
"ajv": "^8.9.0",
|
||||
"ajv-formats": "^2.1.1",
|
||||
"ajv-keywords": "^5.0.0"
|
||||
"ajv-keywords": "^5.1.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 12.13.0"
|
||||
|
@ -12414,9 +12417,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/pinia": {
|
||||
"version": "2.0.34",
|
||||
"resolved": "https://registry.npmjs.org/pinia/-/pinia-2.0.34.tgz",
|
||||
"integrity": "sha512-cgOoGUiyqX0SSgX8XelK9+Ri4XA2/YyNtgjogwfzIx1g7iZTaZPxm7/bZYMCLU2qHRiHhxG7SuQO0eBacFNc2Q==",
|
||||
"version": "2.0.35",
|
||||
"resolved": "https://registry.npmjs.org/pinia/-/pinia-2.0.35.tgz",
|
||||
"integrity": "sha512-P1IKKQWhxGXiiZ3atOaNI75bYlFUbRxtJdhPLX059Z7+b9Z04rnTZdSY8Aph1LA+/4QEMAYHsTQ638Wfe+6K5g==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@vue/devtools-api": "^6.5.0",
|
||||
|
@ -12440,9 +12443,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/pinia/node_modules/vue-demi": {
|
||||
"version": "0.13.11",
|
||||
"resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.13.11.tgz",
|
||||
"integrity": "sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==",
|
||||
"version": "0.14.0",
|
||||
"resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.0.tgz",
|
||||
"integrity": "sha512-gt58r2ogsNQeVoQ3EhoUAvUsH9xviydl0dWJj7dabBC/2L4uBId7ujtCwDRD0JhkGsV1i0CtfLAeyYKBht9oWg==",
|
||||
"dev": true,
|
||||
"hasInstallScript": true,
|
||||
"bin": {
|
||||
|
@ -12727,9 +12730,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/postcss": {
|
||||
"version": "8.4.21",
|
||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz",
|
||||
"integrity": "sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==",
|
||||
"version": "8.4.23",
|
||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.23.tgz",
|
||||
"integrity": "sha512-bQ3qMcpF6A/YjR55xtoTr0jGOlnPOKAIMdOWiv0EIT6HVPEaJiJB4NLljSbiHoC2RX7DN5Uvjtpbg1NPdwv1oA==",
|
||||
"funding": [
|
||||
{
|
||||
"type": "opencollective",
|
||||
|
@ -12738,10 +12741,14 @@
|
|||
{
|
||||
"type": "tidelift",
|
||||
"url": "https://tidelift.com/funding/github/npm/postcss"
|
||||
},
|
||||
{
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/ai"
|
||||
}
|
||||
],
|
||||
"dependencies": {
|
||||
"nanoid": "^3.3.4",
|
||||
"nanoid": "^3.3.6",
|
||||
"picocolors": "^1.0.0",
|
||||
"source-map-js": "^1.0.2"
|
||||
},
|
||||
|
@ -13394,9 +13401,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/prettier": {
|
||||
"version": "2.8.7",
|
||||
"resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.7.tgz",
|
||||
"integrity": "sha512-yPngTo3aXUUmyuTjeTUT75txrf+aMh9FiD7q9ZE/i6r0bPb22g4FsE6Y338PQX1bmfy08i9QQCB7/rcUAVntfw==",
|
||||
"version": "2.8.8",
|
||||
"resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz",
|
||||
"integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==",
|
||||
"dev": true,
|
||||
"bin": {
|
||||
"prettier": "bin-prettier.js"
|
||||
|
@ -14139,9 +14146,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/semver": {
|
||||
"version": "7.4.0",
|
||||
"resolved": "https://registry.npmjs.org/semver/-/semver-7.4.0.tgz",
|
||||
"integrity": "sha512-RgOxM8Mw+7Zus0+zcLEUn8+JfoLpj/huFTItQy2hsM4khuC1HYRDp0cU482Ewn/Fcy6bCjufD8vAj7voC66KQw==",
|
||||
"version": "7.5.0",
|
||||
"resolved": "https://registry.npmjs.org/semver/-/semver-7.5.0.tgz",
|
||||
"integrity": "sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA==",
|
||||
"dependencies": {
|
||||
"lru-cache": "^6.0.0"
|
||||
},
|
||||
|
@ -15421,9 +15428,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/terser": {
|
||||
"version": "5.16.9",
|
||||
"resolved": "https://registry.npmjs.org/terser/-/terser-5.16.9.tgz",
|
||||
"integrity": "sha512-HPa/FdTB9XGI2H1/keLFZHxl6WNvAI4YalHGtDQTlMnJcoqSab1UwL4l1hGEhs6/GmLHBZIg/YgB++jcbzoOEg==",
|
||||
"version": "5.17.1",
|
||||
"resolved": "https://registry.npmjs.org/terser/-/terser-5.17.1.tgz",
|
||||
"integrity": "sha512-hVl35zClmpisy6oaoKALOpS0rDYLxRFLHhRuDlEGTKey9qHjS1w9GMORjuwIMt70Wan4lwsLYyWDVnWgF+KUEw==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@jridgewell/source-map": "^0.3.2",
|
||||
|
@ -15473,9 +15480,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/terser-webpack-plugin/node_modules/schema-utils": {
|
||||
"version": "3.1.1",
|
||||
"resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
|
||||
"integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
|
||||
"version": "3.1.2",
|
||||
"resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.2.tgz",
|
||||
"integrity": "sha512-pvjEHOgWc9OWA/f/DE3ohBWTD6EleVLf7iFUkoSwAxttdBhB9QUebQgxER2kWueOvRJXPHNnyrvvh9eZINB8Eg==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@types/json-schema": "^7.0.8",
|
||||
|
@ -16076,9 +16083,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/update-browserslist-db": {
|
||||
"version": "1.0.10",
|
||||
"resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz",
|
||||
"integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==",
|
||||
"version": "1.0.11",
|
||||
"resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz",
|
||||
"integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
|
@ -16088,6 +16095,10 @@
|
|||
{
|
||||
"type": "tidelift",
|
||||
"url": "https://tidelift.com/funding/github/npm/browserslist"
|
||||
},
|
||||
{
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/ai"
|
||||
}
|
||||
],
|
||||
"dependencies": {
|
||||
|
@ -16095,7 +16106,7 @@
|
|||
"picocolors": "^1.0.0"
|
||||
},
|
||||
"bin": {
|
||||
"browserslist-lint": "cli.js"
|
||||
"update-browserslist-db": "cli.js"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"browserslist": ">= 4.21.0"
|
||||
|
@ -16396,23 +16407,23 @@
|
|||
}
|
||||
},
|
||||
"node_modules/webpack": {
|
||||
"version": "5.78.0",
|
||||
"resolved": "https://registry.npmjs.org/webpack/-/webpack-5.78.0.tgz",
|
||||
"integrity": "sha512-gT5DP72KInmE/3azEaQrISjTvLYlSM0j1Ezhht/KLVkrqtv10JoP/RXhwmX/frrutOPuSq3o5Vq0ehR/4Vmd1g==",
|
||||
"version": "5.80.0",
|
||||
"resolved": "https://registry.npmjs.org/webpack/-/webpack-5.80.0.tgz",
|
||||
"integrity": "sha512-OIMiq37XK1rWO8mH9ssfFKZsXg4n6klTEDL7S8/HqbAOBBaiy8ABvXvz0dDCXeEF9gqwxSvVk611zFPjS8hJxA==",
|
||||
"dev": true,
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@types/eslint-scope": "^3.7.3",
|
||||
"@types/estree": "^0.0.51",
|
||||
"@webassemblyjs/ast": "1.11.1",
|
||||
"@webassemblyjs/wasm-edit": "1.11.1",
|
||||
"@webassemblyjs/wasm-parser": "1.11.1",
|
||||
"@types/estree": "^1.0.0",
|
||||
"@webassemblyjs/ast": "^1.11.5",
|
||||
"@webassemblyjs/wasm-edit": "^1.11.5",
|
||||
"@webassemblyjs/wasm-parser": "^1.11.5",
|
||||
"acorn": "^8.7.1",
|
||||
"acorn-import-assertions": "^1.7.6",
|
||||
"browserslist": "^4.14.5",
|
||||
"chrome-trace-event": "^1.0.2",
|
||||
"enhanced-resolve": "^5.10.0",
|
||||
"es-module-lexer": "^0.9.0",
|
||||
"enhanced-resolve": "^5.13.0",
|
||||
"es-module-lexer": "^1.2.1",
|
||||
"eslint-scope": "5.1.1",
|
||||
"events": "^3.2.0",
|
||||
"glob-to-regexp": "^0.4.1",
|
||||
|
@ -16421,9 +16432,9 @@
|
|||
"loader-runner": "^4.2.0",
|
||||
"mime-types": "^2.1.27",
|
||||
"neo-async": "^2.6.2",
|
||||
"schema-utils": "^3.1.0",
|
||||
"schema-utils": "^3.1.2",
|
||||
"tapable": "^2.1.1",
|
||||
"terser-webpack-plugin": "^5.1.3",
|
||||
"terser-webpack-plugin": "^5.3.7",
|
||||
"watchpack": "^2.4.0",
|
||||
"webpack-sources": "^3.2.3"
|
||||
},
|
||||
|
@ -16444,18 +16455,18 @@
|
|||
}
|
||||
},
|
||||
"node_modules/webpack-cli": {
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.0.1.tgz",
|
||||
"integrity": "sha512-S3KVAyfwUqr0Mo/ur3NzIp6jnerNpo7GUO6so51mxLi1spqsA17YcMXy0WOIJtBSnj748lthxC6XLbNKh/ZC+A==",
|
||||
"version": "5.0.2",
|
||||
"resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.0.2.tgz",
|
||||
"integrity": "sha512-4y3W5Dawri5+8dXm3+diW6Mn1Ya+Dei6eEVAdIduAmYNLzv1koKVAqsfgrrc9P2mhrYHQphx5htnGkcNwtubyQ==",
|
||||
"dev": true,
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@discoveryjs/json-ext": "^0.5.0",
|
||||
"@webpack-cli/configtest": "^2.0.1",
|
||||
"@webpack-cli/info": "^2.0.1",
|
||||
"@webpack-cli/serve": "^2.0.1",
|
||||
"@webpack-cli/serve": "^2.0.2",
|
||||
"colorette": "^2.0.14",
|
||||
"commander": "^9.4.1",
|
||||
"commander": "^10.0.1",
|
||||
"cross-spawn": "^7.0.3",
|
||||
"envinfo": "^7.7.3",
|
||||
"fastest-levenshtein": "^1.0.12",
|
||||
|
@ -16489,6 +16500,16 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"node_modules/webpack-cli/node_modules/commander": {
|
||||
"version": "10.0.1",
|
||||
"resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz",
|
||||
"integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==",
|
||||
"dev": true,
|
||||
"peer": true,
|
||||
"engines": {
|
||||
"node": ">=14"
|
||||
}
|
||||
},
|
||||
"node_modules/webpack-cli/node_modules/interpret": {
|
||||
"version": "3.1.1",
|
||||
"resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz",
|
||||
|
@ -16571,15 +16592,15 @@
|
|||
"dev": true
|
||||
},
|
||||
"node_modules/webpack-dev-middleware/node_modules/schema-utils": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz",
|
||||
"integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==",
|
||||
"version": "4.0.1",
|
||||
"resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.1.tgz",
|
||||
"integrity": "sha512-lELhBAAly9NowEsX0yZBlw9ahZG+sK/1RJ21EpzdYHKEs13Vku3LJ+MIPhh4sMs0oCCeufZQEQbMekiA4vuVIQ==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@types/json-schema": "^7.0.9",
|
||||
"ajv": "^8.8.0",
|
||||
"ajv": "^8.9.0",
|
||||
"ajv-formats": "^2.1.1",
|
||||
"ajv-keywords": "^5.0.0"
|
||||
"ajv-keywords": "^5.1.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 12.13.0"
|
||||
|
@ -16590,9 +16611,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/webpack-dev-server": {
|
||||
"version": "4.13.2",
|
||||
"resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.13.2.tgz",
|
||||
"integrity": "sha512-5i6TrGBRxG4vnfDpB6qSQGfnB6skGBXNL5/542w2uRGLimX6qeE5BQMLrzIC3JYV/xlGOv+s+hTleI9AZKUQNw==",
|
||||
"version": "4.13.3",
|
||||
"resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.13.3.tgz",
|
||||
"integrity": "sha512-KqqzrzMRSRy5ePz10VhjyL27K2dxqwXQLP5rAKwRJBPUahe7Z2bBWzHw37jeb8GCPKxZRO79ZdQUAPesMh/Nug==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@types/bonjour": "^3.5.9",
|
||||
|
@ -16707,15 +16728,15 @@
|
|||
}
|
||||
},
|
||||
"node_modules/webpack-dev-server/node_modules/schema-utils": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz",
|
||||
"integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==",
|
||||
"version": "4.0.1",
|
||||
"resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.1.tgz",
|
||||
"integrity": "sha512-lELhBAAly9NowEsX0yZBlw9ahZG+sK/1RJ21EpzdYHKEs13Vku3LJ+MIPhh4sMs0oCCeufZQEQbMekiA4vuVIQ==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@types/json-schema": "^7.0.9",
|
||||
"ajv": "^8.8.0",
|
||||
"ajv": "^8.9.0",
|
||||
"ajv-formats": "^2.1.1",
|
||||
"ajv-keywords": "^5.0.0"
|
||||
"ajv-keywords": "^5.1.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 12.13.0"
|
||||
|
@ -16745,9 +16766,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/webpack/node_modules/es-module-lexer": {
|
||||
"version": "0.9.3",
|
||||
"resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz",
|
||||
"integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==",
|
||||
"version": "1.2.1",
|
||||
"resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.2.1.tgz",
|
||||
"integrity": "sha512-9978wrXM50Y4rTMmW5kXIC09ZdXQZqkE4mxhwkd8VbzsGkXGPgV4zWuqQJgCEzYngdo2dYDa0l8xhX4fkSwJSg==",
|
||||
"dev": true,
|
||||
"peer": true
|
||||
},
|
||||
|
@ -16776,9 +16797,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/webpack/node_modules/schema-utils": {
|
||||
"version": "3.1.1",
|
||||
"resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
|
||||
"integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
|
||||
"version": "3.1.2",
|
||||
"resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.2.tgz",
|
||||
"integrity": "sha512-pvjEHOgWc9OWA/f/DE3ohBWTD6EleVLf7iFUkoSwAxttdBhB9QUebQgxER2kWueOvRJXPHNnyrvvh9eZINB8Eg==",
|
||||
"dev": true,
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
|
|
Loading…
Reference in New Issue
Block a user