forked from geolba/tethys.backend
- import all enums for database migrations (check constraints)
- npm updates
This commit is contained in:
parent
6fa22aad9b
commit
3ea2e8ca94
|
@ -99,7 +99,7 @@ export default class CreateDatasetValidator {
|
|||
files: schema.array([rules.minLength(1)]).members(
|
||||
schema.file({
|
||||
size: '100mb',
|
||||
extnames: ['jpg', 'gif', 'png', 'tif'],
|
||||
extnames: ['jpg', 'gif', 'png', 'tif', 'pdf'],
|
||||
}),
|
||||
),
|
||||
// upload: schema.object().members({
|
||||
|
|
|
@ -101,3 +101,12 @@ export enum RelationTypes {
|
|||
Compiles = 'Compiles',
|
||||
IsVariantFormOf = 'IsVariantFormOf',
|
||||
}
|
||||
|
||||
export enum IdentifierTypes {
|
||||
doi = 'doi',
|
||||
handle = 'handle',
|
||||
isbn = 'isbn',
|
||||
issn = 'issn',
|
||||
url = 'url',
|
||||
urn = 'urn',
|
||||
}
|
||||
|
|
|
@ -19,7 +19,7 @@ export default class Documents extends BaseSchema {
|
|||
.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.enum('type', Object.keys(DatasetTypes)).notNullable();
|
||||
table.string('language').notNullable();
|
||||
table.enum('server_state', Object.values(ServerStates)).notNullable().defaultTo("'inprogress'");
|
||||
table.boolean('belongs_to_bibliography').notNullable().defaultTo(false);
|
||||
|
|
51
database/migrations/references_1_document_references.ts
Normal file
51
database/migrations/references_1_document_references.ts
Normal file
|
@ -0,0 +1,51 @@
|
|||
import BaseSchema from '@ioc:Adonis/Lucid/Schema';
|
||||
import { RelationTypes, ReferenceIdentifierTypes } from 'Contracts/enums';
|
||||
|
||||
export default class DocumentReferences extends BaseSchema {
|
||||
protected tableName = 'document_references';
|
||||
|
||||
public async up() {
|
||||
this.schema.createTable(this.tableName, (table) => {
|
||||
table.increments('id').primary().defaultTo("nextval('document_references_id_seq')");
|
||||
table.integer('document_id').unsigned().notNullable();
|
||||
table
|
||||
.foreign('document_id', 'document_references_document_id_foreign')
|
||||
.references('id')
|
||||
.inTable('documents')
|
||||
.onDelete('CASCADE') // delete this reference when document is deleted
|
||||
.onUpdate('CASCADE');
|
||||
// table.string('type').notNullable();
|
||||
table.enum('type', Object.keys(ReferenceIdentifierTypes)).notNullable();
|
||||
// table.string('relation').notNullable();
|
||||
table.enum('relation', Object.keys(RelationTypes)).notNullable();
|
||||
table.string('value').notNullable();
|
||||
table.string('label').notNullable();
|
||||
table.timestamp('created_at', { useTz: false }).nullable();
|
||||
table.timestamp('updated_at', { useTz: false }).nullable();
|
||||
});
|
||||
}
|
||||
|
||||
public async down() {
|
||||
this.schema.dropTable(this.tableName);
|
||||
}
|
||||
}
|
||||
|
||||
// -- Table: document_references
|
||||
// CREATE TABLE IF NOT EXISTS document_references
|
||||
// (
|
||||
// id integer NOT NULL DEFAULT nextval('document_references_id_seq'::regclass),
|
||||
// document_id integer NOT NULL,
|
||||
// type character varying(255) NOT NULL,
|
||||
// relation character varying(255) NOT NULL,
|
||||
// value character varying(255) NOT NULL,
|
||||
// label character varying(255) NOT NULL,
|
||||
// created_at timestamp(0) without time zone,
|
||||
// updated_at timestamp(0) without time zone,
|
||||
// CONSTRAINT document_references_pkey PRIMARY KEY (id),
|
||||
// CONSTRAINT document_references_document_id_foreign FOREIGN KEY (document_id)
|
||||
// REFERENCES documents (id) MATCH SIMPLE
|
||||
// ON UPDATE CASCADE
|
||||
// ON DELETE CASCADE,
|
||||
// CONSTRAINT document_references_relation_check CHECK (relation::text = ANY (ARRAY['IsSupplementTo'::character varying::text, 'IsSupplementedBy'::character varying::text, 'IsContinuedBy'::character varying::text, 'Continues'::character varying::text, 'IsNewVersionOf'::character varying::text, 'IsPartOf'::character varying::text, 'HasPart'::character varying::text, 'Compiles'::character varying::text, 'IsVariantFormOf'::character varying::text])),
|
||||
// CONSTRAINT document_references_type_check CHECK (type::text = ANY (ARRAY['DOI'::character varying::text, 'Handle'::character varying::text, 'ISBN'::character varying::text, 'ISSN'::character varying::text, 'URL'::character varying::text, 'URN'::character varying::text]))
|
||||
// )
|
45
database/migrations/references_2_document_identifiers.ts
Normal file
45
database/migrations/references_2_document_identifiers.ts
Normal file
|
@ -0,0 +1,45 @@
|
|||
import BaseSchema from '@ioc:Adonis/Lucid/Schema';
|
||||
import { IdentifierTypes } from 'Contracts/enums';
|
||||
|
||||
export default class DocumentIdentifiers extends BaseSchema {
|
||||
protected tableName = 'document_identifiers';
|
||||
|
||||
public async up() {
|
||||
this.schema.createTable(this.tableName, (table) => {
|
||||
table.increments('id').primary().defaultTo("nextval('document_identifiers_id_seq')")
|
||||
table.integer('document_id').unsigned().notNullable();
|
||||
table
|
||||
.foreign('document_id', 'document_identifiers_document_id_foreign')
|
||||
.references('id')
|
||||
.inTable('documents')
|
||||
.onDelete('CASCADE') // delete this identifier when document is deleted
|
||||
.onUpdate('CASCADE');
|
||||
// table.string('type').notNullable();
|
||||
table.enum('type', Object.keys(IdentifierTypes)).notNullable();
|
||||
table.string('value').notNullable();
|
||||
table.timestamp('created_at', { useTz: false }).nullable();
|
||||
table.timestamp('updated_at', { useTz: false }).nullable();
|
||||
});
|
||||
}
|
||||
|
||||
public async down() {
|
||||
this.schema.dropTable(this.tableName);
|
||||
}
|
||||
}
|
||||
|
||||
// -- Table: document_identifiers
|
||||
// CREATE TABLE IF NOT EXISTS document_identifiers
|
||||
// (
|
||||
// id integer NOT NULL DEFAULT nextval('document_identifiers_id_seq'::regclass),
|
||||
// document_id integer NOT NULL,
|
||||
// type character varying(255) NOT NULL,
|
||||
// value character varying(255) NOT NULL,
|
||||
// created_at timestamp(0) without time zone,
|
||||
// updated_at timestamp(0) without time zone,
|
||||
// CONSTRAINT document_identifiers_pkey PRIMARY KEY (id),
|
||||
// CONSTRAINT document_identifiers_document_id_foreign FOREIGN KEY (document_id)
|
||||
// REFERENCES documents (id) MATCH SIMPLE
|
||||
// ON UPDATE CASCADE
|
||||
// ON DELETE CASCADE,
|
||||
// CONSTRAINT document_identifiers_type_check CHECK (type::text = ANY (ARRAY['doi'::character varying::text, 'handle'::character varying::text, 'isbn'::character varying::text, 'issn'::character varying::text, 'url'::character varying::text, 'urn'::character varying::text]))
|
||||
// )
|
148
package-lock.json
generated
148
package-lock.json
generated
|
@ -784,21 +784,21 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@babel/core": {
|
||||
"version": "7.22.15",
|
||||
"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.15.tgz",
|
||||
"integrity": "sha512-PtZqMmgRrvj8ruoEOIwVA3yoF91O+Hgw9o7DAUTNBA6Mo2jpu31clx9a7Nz/9JznqetTR6zwfC4L3LAjKQXUwA==",
|
||||
"version": "7.22.17",
|
||||
"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.17.tgz",
|
||||
"integrity": "sha512-2EENLmhpwplDux5PSsZnSbnSkB3tZ6QTksgO25xwEL7pIDcNOMhF5v/s6RzwjMZzZzw9Ofc30gHv5ChCC8pifQ==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@ampproject/remapping": "^2.2.0",
|
||||
"@babel/code-frame": "^7.22.13",
|
||||
"@babel/generator": "^7.22.15",
|
||||
"@babel/helper-compilation-targets": "^7.22.15",
|
||||
"@babel/helper-module-transforms": "^7.22.15",
|
||||
"@babel/helper-module-transforms": "^7.22.17",
|
||||
"@babel/helpers": "^7.22.15",
|
||||
"@babel/parser": "^7.22.15",
|
||||
"@babel/parser": "^7.22.16",
|
||||
"@babel/template": "^7.22.15",
|
||||
"@babel/traverse": "^7.22.15",
|
||||
"@babel/types": "^7.22.15",
|
||||
"@babel/traverse": "^7.22.17",
|
||||
"@babel/types": "^7.22.17",
|
||||
"convert-source-map": "^1.7.0",
|
||||
"debug": "^4.1.0",
|
||||
"gensync": "^1.0.0-beta.2",
|
||||
|
@ -1019,9 +1019,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@babel/helper-module-transforms": {
|
||||
"version": "7.22.15",
|
||||
"resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.15.tgz",
|
||||
"integrity": "sha512-l1UiX4UyHSFsYt17iQ3Se5pQQZZHa22zyIXURmvkmLCD4t/aU+dvNWHatKac/D9Vm9UES7nvIqHs4jZqKviUmQ==",
|
||||
"version": "7.22.17",
|
||||
"resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.17.tgz",
|
||||
"integrity": "sha512-XouDDhQESrLHTpnBtCKExJdyY4gJCdrvH2Pyv8r8kovX2U8G0dRUOT45T9XlbLtuu9CLXP15eusnkprhoPV5iQ==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@babel/helper-environment-visitor": "^7.22.5",
|
||||
|
@ -1059,14 +1059,14 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@babel/helper-remap-async-to-generator": {
|
||||
"version": "7.22.9",
|
||||
"resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.9.tgz",
|
||||
"integrity": "sha512-8WWC4oR4Px+tr+Fp0X3RHDVfINGpF3ad1HIbrc8A77epiR6eMMc6jsgozkzT2uDiOOdoS9cLIQ+XD2XvI2WSmQ==",
|
||||
"version": "7.22.17",
|
||||
"resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.17.tgz",
|
||||
"integrity": "sha512-bxH77R5gjH3Nkde6/LuncQoLaP16THYPscurp1S8z7S9ZgezCyV3G8Hc+TZiCmY8pz4fp8CvKSgtJMW0FkLAxA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@babel/helper-annotate-as-pure": "^7.22.5",
|
||||
"@babel/helper-environment-visitor": "^7.22.5",
|
||||
"@babel/helper-wrap-function": "^7.22.9"
|
||||
"@babel/helper-wrap-function": "^7.22.17"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=6.9.0"
|
||||
|
@ -1156,14 +1156,14 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@babel/helper-wrap-function": {
|
||||
"version": "7.22.10",
|
||||
"resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.10.tgz",
|
||||
"integrity": "sha512-OnMhjWjuGYtdoO3FmsEFWvBStBAe2QOgwOLsLNDjN+aaiMD8InJk1/O3HSD8lkqTjCgg5YI34Tz15KNNA3p+nQ==",
|
||||
"version": "7.22.17",
|
||||
"resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.17.tgz",
|
||||
"integrity": "sha512-nAhoheCMlrqU41tAojw9GpVEKDlTS8r3lzFmF0lP52LwblCPbuFSO7nGIZoIcoU5NIm1ABrna0cJExE4Ay6l2Q==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@babel/helper-function-name": "^7.22.5",
|
||||
"@babel/template": "^7.22.5",
|
||||
"@babel/types": "^7.22.10"
|
||||
"@babel/template": "^7.22.15",
|
||||
"@babel/types": "^7.22.17"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=6.9.0"
|
||||
|
@ -1198,9 +1198,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@babel/parser": {
|
||||
"version": "7.22.15",
|
||||
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.15.tgz",
|
||||
"integrity": "sha512-RWmQ/sklUN9BvGGpCDgSubhHWfAx24XDTDObup4ffvxaYsptOg2P3KG0j+1eWKLxpkX0j0uHxmpq2Z1SP/VhxA==",
|
||||
"version": "7.22.16",
|
||||
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.16.tgz",
|
||||
"integrity": "sha512-+gPfKv8UWeKKeJTUxe59+OobVcrYHETCsORl61EmSkmgymguYk/X5bp7GuUIXaFsc6y++v8ZxPsLSSuujqDphA==",
|
||||
"bin": {
|
||||
"parser": "bin/babel-parser.js"
|
||||
},
|
||||
|
@ -2556,9 +2556,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@babel/traverse": {
|
||||
"version": "7.22.15",
|
||||
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.15.tgz",
|
||||
"integrity": "sha512-DdHPwvJY0sEeN4xJU5uRLmZjgMMDIvMPniLuYzUVXj/GGzysPl0/fwt44JBkyUIzGJPV8QgHMcQdQ34XFuKTYQ==",
|
||||
"version": "7.22.17",
|
||||
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.17.tgz",
|
||||
"integrity": "sha512-xK4Uwm0JnAMvxYZxOVecss85WxTEIbTa7bnGyf/+EgCL5Zt3U7htUpEOWv9detPlamGKuRzCqw74xVglDWpPdg==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@babel/code-frame": "^7.22.13",
|
||||
|
@ -2567,8 +2567,8 @@
|
|||
"@babel/helper-function-name": "^7.22.5",
|
||||
"@babel/helper-hoist-variables": "^7.22.5",
|
||||
"@babel/helper-split-export-declaration": "^7.22.6",
|
||||
"@babel/parser": "^7.22.15",
|
||||
"@babel/types": "^7.22.15",
|
||||
"@babel/parser": "^7.22.16",
|
||||
"@babel/types": "^7.22.17",
|
||||
"debug": "^4.1.0",
|
||||
"globals": "^11.1.0"
|
||||
},
|
||||
|
@ -2577,9 +2577,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@babel/types": {
|
||||
"version": "7.22.15",
|
||||
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.15.tgz",
|
||||
"integrity": "sha512-X+NLXr0N8XXmN5ZsaQdm9U2SSC3UbIYq/doL++sueHOTisgZHoKaQtZxGuV2cUPQHMfjKEfg/g6oy7Hm6SKFtA==",
|
||||
"version": "7.22.17",
|
||||
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.17.tgz",
|
||||
"integrity": "sha512-YSQPHLFtQNE5xN9tHuZnzu8vPr61wVTBZdfv1meex1NBosa4iT05k/Jw06ddJugi4bk7The/oSwQGFcksmEJQg==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@babel/helper-string-parser": "^7.22.5",
|
||||
|
@ -2751,9 +2751,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@eslint/js": {
|
||||
"version": "8.48.0",
|
||||
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.48.0.tgz",
|
||||
"integrity": "sha512-ZSjtmelB7IJfWD2Fvb7+Z+ChTIKWq6kjda95fLcQKNS5aheVHn4IkfgRQE3sIIzTcSLwLcLZUD9UBt+V7+h+Pw==",
|
||||
"version": "8.49.0",
|
||||
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.49.0.tgz",
|
||||
"integrity": "sha512-1S8uAY/MTJqVx0SC4epBq+N2yhuwtNwLbJYNZyhL2pO1ZVKn5HFXav5T41Ryzy9K9V7ZId2JB2oy/W4aCd9/2w==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
|
||||
|
@ -2775,9 +2775,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@fontsource/archivo-black": {
|
||||
"version": "5.0.11",
|
||||
"resolved": "https://registry.npmjs.org/@fontsource/archivo-black/-/archivo-black-5.0.11.tgz",
|
||||
"integrity": "sha512-J5Cs9kUZRJgP/uBbUHak/2mw0Oky2REk7TYTnjzySSkSqvxsjDQlH8oLJM/mpU5OJ39pukzae16U6/qzWBPiMw=="
|
||||
"version": "5.0.12",
|
||||
"resolved": "https://registry.npmjs.org/@fontsource/archivo-black/-/archivo-black-5.0.12.tgz",
|
||||
"integrity": "sha512-zHsdUkz1ax+OEGAJadV5Jglzd7qhCZevOGjWPeuYo8Oh1JhHwKPocPXYU32rVBRWu1rRuvHNYg82+1tYJYZXbA=="
|
||||
},
|
||||
"node_modules/@fontsource/inter": {
|
||||
"version": "5.0.8",
|
||||
|
@ -4003,9 +4003,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@types/lodash": {
|
||||
"version": "4.14.197",
|
||||
"resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.197.tgz",
|
||||
"integrity": "sha512-BMVOiWs0uNxHVlHBgzTIqJYmj+PgCo4euloGF+5m4okL3rEYzM2EEv78mw8zWSMM57dM7kVIgJ2QDvwHSoCI5g==",
|
||||
"version": "4.14.198",
|
||||
"resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.198.tgz",
|
||||
"integrity": "sha512-trNJ/vtMZYMLhfN45uLq4ShQSw0/S7xCTLLVM+WM1rmFpba/VS42jVUgaO3w/NOLiWR/09lnYk0yMaA/atdIsg==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/@types/lodash-es": {
|
||||
|
@ -4040,9 +4040,9 @@
|
|||
"dev": true
|
||||
},
|
||||
"node_modules/@types/node": {
|
||||
"version": "20.5.9",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.5.9.tgz",
|
||||
"integrity": "sha512-PcGNd//40kHAS3sTlzKB9C9XL4K0sTup8nbG5lC14kzEteTNuAFh9u5nA0o5TWnSG2r/JNPRXFVcHJIIeRlmqQ=="
|
||||
"version": "20.6.0",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.6.0.tgz",
|
||||
"integrity": "sha512-najjVq5KN2vsH2U/xyh2opaSEz6cZMR2SetLIlxlj08nOcmPOemJmUK2o4kUzfLqfrWE0PIrNeE16XhYDd3nqg=="
|
||||
},
|
||||
"node_modules/@types/pino": {
|
||||
"version": "6.3.12",
|
||||
|
@ -6082,9 +6082,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/caniuse-lite": {
|
||||
"version": "1.0.30001527",
|
||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001527.tgz",
|
||||
"integrity": "sha512-YkJi7RwPgWtXVSgK4lG9AHH57nSzvvOp9MesgXmw4Q7n0C3H04L0foHqfxcmSAm5AcWb8dW9AYj2tR7/5GnddQ==",
|
||||
"version": "1.0.30001532",
|
||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001532.tgz",
|
||||
"integrity": "sha512-FbDFnNat3nMnrROzqrsg314zhqN5LGQ1kyyMk2opcrwGbVGpHRhgCWtAgD5YJUqNAiQ+dklreil/c3Qf1dfCTw==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
|
@ -6733,9 +6733,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/core-js-compat": {
|
||||
"version": "3.32.1",
|
||||
"resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.32.1.tgz",
|
||||
"integrity": "sha512-GSvKDv4wE0bPnQtjklV101juQ85g6H3rm5PDP20mqlS5j0kXF3pP97YvAu5hl+uFHqMictp3b2VxOHljWMAtuA==",
|
||||
"version": "3.32.2",
|
||||
"resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.32.2.tgz",
|
||||
"integrity": "sha512-+GjlguTDINOijtVRUxrQOv3kfu9rl+qPNdX2LTbJ/ZyVTuxK+ksVSAGX1nHstu4hrv1En/uPTtWgq2gI5wt4AQ==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"browserslist": "^4.21.10"
|
||||
|
@ -6752,9 +6752,9 @@
|
|||
"dev": true
|
||||
},
|
||||
"node_modules/cosmiconfig": {
|
||||
"version": "8.3.4",
|
||||
"resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.4.tgz",
|
||||
"integrity": "sha512-SF+2P8+o/PTV05rgsAjDzL4OFdVXAulSfC/L19VaeVT7+tpOOSscCt2QLxDZ+CLxF2WOiq6y1K5asvs8qUJT/Q==",
|
||||
"version": "8.3.5",
|
||||
"resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.5.tgz",
|
||||
"integrity": "sha512-A5Xry3xfS96wy2qbiLkQLAg4JUrR2wvfybxj6yqLmrUfMAvhS3MZxIP2oQn0grgYIvJqzpeTEWu4vK0t+12NNw==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"import-fresh": "^3.3.0",
|
||||
|
@ -7967,9 +7967,9 @@
|
|||
"integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow=="
|
||||
},
|
||||
"node_modules/electron-to-chromium": {
|
||||
"version": "1.4.508",
|
||||
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.508.tgz",
|
||||
"integrity": "sha512-FFa8QKjQK/A5QuFr2167myhMesGrhlOBD+3cYNxO9/S4XzHEXesyTD/1/xF644gC8buFPz3ca6G1LOQD0tZrrg==",
|
||||
"version": "1.4.513",
|
||||
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.513.tgz",
|
||||
"integrity": "sha512-cOB0xcInjm+E5qIssHeXJ29BaUyWpMyFKT5RB3bsLENDheCja0wMkHJyiPl0NBE/VzDI7JDuNEQWhe6RitEUcw==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/emittery": {
|
||||
|
@ -8118,16 +8118,16 @@
|
|||
}
|
||||
},
|
||||
"node_modules/eslint": {
|
||||
"version": "8.48.0",
|
||||
"resolved": "https://registry.npmjs.org/eslint/-/eslint-8.48.0.tgz",
|
||||
"integrity": "sha512-sb6DLeIuRXxeM1YljSe1KEx9/YYeZFQWcV8Rq9HfigmdDEugjLEVEa1ozDjL6YDjBpQHPJxJzze+alxi4T3OLg==",
|
||||
"version": "8.49.0",
|
||||
"resolved": "https://registry.npmjs.org/eslint/-/eslint-8.49.0.tgz",
|
||||
"integrity": "sha512-jw03ENfm6VJI0jA9U+8H5zfl5b+FvuU3YYvZRdZHOlU2ggJkxrlkJH4HcDrZpj6YwD8kuYqvQM8LyesoazrSOQ==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@eslint-community/eslint-utils": "^4.2.0",
|
||||
"@eslint-community/regexpp": "^4.6.1",
|
||||
"@eslint/eslintrc": "^2.1.2",
|
||||
"@eslint/js": "8.48.0",
|
||||
"@humanwhocodes/config-array": "^0.11.10",
|
||||
"@eslint/js": "8.49.0",
|
||||
"@humanwhocodes/config-array": "^0.11.11",
|
||||
"@humanwhocodes/module-importer": "^1.0.1",
|
||||
"@nodelib/fs.walk": "^1.2.8",
|
||||
"ajv": "^6.12.4",
|
||||
|
@ -10913,9 +10913,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/jiti": {
|
||||
"version": "1.19.3",
|
||||
"resolved": "https://registry.npmjs.org/jiti/-/jiti-1.19.3.tgz",
|
||||
"integrity": "sha512-5eEbBDQT/jF1xg6l36P+mWGGoH9Spuy0PCdSr2dtWRDGC6ph/w9ZCL4lmESW8f8F7MwT3XKescfP0wnZWAKL9w==",
|
||||
"version": "1.20.0",
|
||||
"resolved": "https://registry.npmjs.org/jiti/-/jiti-1.20.0.tgz",
|
||||
"integrity": "sha512-3TV69ZbrvV6U5DfQimop50jE9Dl6J8O1ja1dvBbMba/sZ3YBEQqJ2VZRoQPVnhlzjNtU1vaXRZVrVjU4qtm8yA==",
|
||||
"dev": true,
|
||||
"bin": {
|
||||
"jiti": "bin/jiti.js"
|
||||
|
@ -11346,9 +11346,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/luxon": {
|
||||
"version": "3.4.2",
|
||||
"resolved": "https://registry.npmjs.org/luxon/-/luxon-3.4.2.tgz",
|
||||
"integrity": "sha512-uBoAVCVcajsrqy3pv7eo5jEUz1oeLmCcnMv8n4AJpT5hbpN9lUssAXibNElpbLce3Mhm9dyBzwYLs9zctM/0tA==",
|
||||
"version": "3.4.3",
|
||||
"resolved": "https://registry.npmjs.org/luxon/-/luxon-3.4.3.tgz",
|
||||
"integrity": "sha512-tFWBiv3h7z+T/tDaoxA8rqTxy1CHV6gHS//QdaH4pulbq/JuBSGgQspQQqcgnwdAx6pNI7cmvz5Sv/addzHmUg==",
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
}
|
||||
|
@ -17264,9 +17264,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/webpack/node_modules/es-module-lexer": {
|
||||
"version": "1.3.0",
|
||||
"resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.0.tgz",
|
||||
"integrity": "sha512-vZK7T0N2CBmBOixhmjdqx2gWVbFZ4DXZ/NyRMZVlJXPa7CyFS+/a4QQsDGDQy9ZfEzxFuNEsMLeQJnKP2p5/JA==",
|
||||
"version": "1.3.1",
|
||||
"resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.1.tgz",
|
||||
"integrity": "sha512-JUFAyicQV9mXc3YRxPnDlrfBKpqt6hUYzz9/boprUJHs4e4KVr3XwOF70doO6gwXUor6EWZJAyWAfKki84t20Q==",
|
||||
"dev": true,
|
||||
"peer": true
|
||||
},
|
||||
|
@ -17413,9 +17413,9 @@
|
|||
"integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
|
||||
},
|
||||
"node_modules/ws": {
|
||||
"version": "8.13.0",
|
||||
"resolved": "https://registry.npmjs.org/ws/-/ws-8.13.0.tgz",
|
||||
"integrity": "sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==",
|
||||
"version": "8.14.1",
|
||||
"resolved": "https://registry.npmjs.org/ws/-/ws-8.14.1.tgz",
|
||||
"integrity": "sha512-4OOseMUq8AzRBI/7SLMUwO+FEDnguetSk7KMb1sHwvF2w2Wv5Hoj0nlifx8vtGsftE/jWHojPy8sMMzYLJ2G/A==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=10.0.0"
|
||||
|
@ -17514,9 +17514,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/youch": {
|
||||
"version": "3.2.3",
|
||||
"resolved": "https://registry.npmjs.org/youch/-/youch-3.2.3.tgz",
|
||||
"integrity": "sha512-ZBcWz/uzZaQVdCvfV4uk616Bbpf2ee+F/AvuKDR5EwX/Y4v06xWdtMluqTD7+KlZdM93lLm9gMZYo0sKBS0pgw==",
|
||||
"version": "3.3.1",
|
||||
"resolved": "https://registry.npmjs.org/youch/-/youch-3.3.1.tgz",
|
||||
"integrity": "sha512-Rg9ioi+AkKyje2Hk4qILSVvayaFW98KTsOJ4aIkjDf97LZX5WJVIHZmFLnM4ThcVofHo/fbbwtYajfBPHFOVtg==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"cookie": "^0.5.0",
|
||||
|
|
31
readme.md
Normal file
31
readme.md
Normal file
|
@ -0,0 +1,31 @@
|
|||
# Tethys Research Repository Backend System
|
||||
|
||||
Welcome to the Tethys Research Repository Backend System! This is the backend component responsible for managing datasets, users, and the core functionality of the Tethys Data Research Repository.
|
||||
|
||||
## Table of Contents
|
||||
- [Getting Started](#getting-started)
|
||||
- [Prerequisites](#prerequisites)
|
||||
- [Installation](#installation)
|
||||
- [Usage](#usage)
|
||||
- [Configuration](#configuration)
|
||||
- [Database](#database)
|
||||
- [API Documentation](#api-documentation)
|
||||
- [Contributing](#contributing)
|
||||
- [License](#license)
|
||||
|
||||
## Getting Started
|
||||
|
||||
### Prerequisites
|
||||
|
||||
Before you begin, ensure you have met the following requirements:
|
||||
|
||||
- Node.js and npm installed on your development machine.
|
||||
- A running PostgreSQL database instance.
|
||||
- AdonisJS CLI globally installed.
|
||||
|
||||
### Installation
|
||||
|
||||
1. Clone this repository:
|
||||
|
||||
```bash
|
||||
git clone https://gitea.geologie.ac.at/geolba/tethys.backend.git
|
Loading…
Reference in New Issue
Block a user