- now authenticated user can change password with check of old password and password confirmination
Some checks failed
CI Pipeline / japa-tests (push) Failing after 52s
Some checks failed
CI Pipeline / japa-tests (push) Failing after 52s
- cchanged route app.dashboard to apps.dashboard - add editor and reviewer relation to Dataset.ts - added personal menu in asideMenu - added Approve.vue for editor - show warning in Index.vue (editor), if no dataset is loaded - user Receive.vue without inertia helper form - npm updates - added routes in routes.ts
This commit is contained in:
parent
0d51002903
commit
ae0c471e93
|
@ -6,6 +6,8 @@ import CreateUserValidator from 'App/Validators/CreateUserValidator';
|
||||||
import UpdateUserValidator from 'App/Validators/UpdateUserValidator';
|
import UpdateUserValidator from 'App/Validators/UpdateUserValidator';
|
||||||
import { RenderResponse } from '@ioc:EidelLev/Inertia';
|
import { RenderResponse } from '@ioc:EidelLev/Inertia';
|
||||||
// import { schema, rules } from '@ioc:Adonis/Core/Validator';
|
// import { schema, rules } from '@ioc:Adonis/Core/Validator';
|
||||||
|
import Hash from '@ioc:Adonis/Core/Hash';
|
||||||
|
import { schema, rules } from '@ioc:Adonis/Core/Validator';
|
||||||
|
|
||||||
export default class UsersController {
|
export default class UsersController {
|
||||||
public async index({ auth, request, inertia }: HttpContextContract) {
|
public async index({ auth, request, inertia }: HttpContextContract) {
|
||||||
|
@ -182,7 +184,7 @@ export default class UsersController {
|
||||||
* @param HttpContextContract ctx
|
* @param HttpContextContract ctx
|
||||||
* @return : RedirectContract
|
* @return : RedirectContract
|
||||||
*/
|
*/
|
||||||
public async accountInfoStore({ request, response, auth, session }: HttpContextContract) {
|
public async accountInfoStoreOld({ request, response, auth, session }: HttpContextContract) {
|
||||||
// validate update form
|
// validate update form
|
||||||
await request.validate(UpdateUserValidator);
|
await request.validate(UpdateUserValidator);
|
||||||
|
|
||||||
|
@ -202,6 +204,46 @@ export default class UsersController {
|
||||||
//->with('message', __($message));
|
//->with('message', __($message));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public async accountInfoStore({ auth, request, response, session }) {
|
||||||
|
const passwordSchema = schema.create({
|
||||||
|
old_password: schema.string({ trim: true }, [rules.required()]),
|
||||||
|
new_password: schema.string({ trim: true }, [rules.minLength(8), rules.maxLength(255), rules.confirmed('confirm_password')]),
|
||||||
|
confirm_password: schema.string({ trim: true }, [rules.required()]),
|
||||||
|
});
|
||||||
|
try {
|
||||||
|
await request.validate({ schema: passwordSchema });
|
||||||
|
} catch (error) {
|
||||||
|
// return response.badRequest(error.messages);
|
||||||
|
throw error;
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
const user = await auth.user;
|
||||||
|
const { old_password, new_password } = request.only(['old_password', 'new_password']);
|
||||||
|
|
||||||
|
// if (!(old_password && new_password && confirm_password)) {
|
||||||
|
// return response.status(400).send({ message: 'Old password and new password are required.' });
|
||||||
|
// }
|
||||||
|
|
||||||
|
// Verify if the provided old password matches the user's current password
|
||||||
|
const isSame = await Hash.verify(user.password, old_password);
|
||||||
|
if (!isSame) {
|
||||||
|
return response.flash({ message: 'Old password is incorrect.' }).redirect().back();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Hash the new password before updating the user's password
|
||||||
|
user.password = new_password;
|
||||||
|
await user.save();
|
||||||
|
|
||||||
|
// return response.status(200).send({ message: 'Password updated successfully.' });
|
||||||
|
session.flash('Password updated successfully.');
|
||||||
|
return response.redirect().toRoute('settings.user');
|
||||||
|
} catch (error) {
|
||||||
|
// return response.status(500).send({ message: 'Internal server error.' });
|
||||||
|
return response.flash('warning', `Invalid server state. Internal server error.`).redirect().back();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// private async syncRoles(userId: number, roleIds: Array<number>) {
|
// private async syncRoles(userId: number, roleIds: Array<number>) {
|
||||||
// const user = await User.findOrFail(userId)
|
// const user = await User.findOrFail(userId)
|
||||||
// // const roles: Role[] = await Role.query().whereIn('id', roleIds);
|
// // const roles: Role[] = await Role.query().whereIn('id', roleIds);
|
||||||
|
|
|
@ -27,7 +27,7 @@ export default class AuthController {
|
||||||
}
|
}
|
||||||
|
|
||||||
// otherwise, redirect todashboard
|
// otherwise, redirect todashboard
|
||||||
response.redirect('/app/dashboard');
|
response.redirect('/apps/dashboard');
|
||||||
}
|
}
|
||||||
|
|
||||||
// logout function
|
// logout function
|
||||||
|
|
|
@ -8,12 +8,18 @@ import { create } from 'xmlbuilder2';
|
||||||
import { readFileSync } from 'fs';
|
import { readFileSync } from 'fs';
|
||||||
import { transform } from 'saxon-js';
|
import { transform } from 'saxon-js';
|
||||||
import type { ModelQueryBuilderContract } from '@ioc:Adonis/Lucid/Orm';
|
import type { ModelQueryBuilderContract } from '@ioc:Adonis/Lucid/Orm';
|
||||||
|
import { schema, CustomMessages } from '@ioc:Adonis/Core/Validator';
|
||||||
|
|
||||||
// Create a new instance of the client
|
// Create a new instance of the client
|
||||||
const client = new Client({ node: 'http://localhost:9200' }); // replace with your OpenSearch endpoint
|
const client = new Client({ node: 'http://localhost:9200' }); // replace with your OpenSearch endpoint
|
||||||
|
|
||||||
export default class DatasetsController {
|
export default class DatasetsController {
|
||||||
private proc;
|
private proc;
|
||||||
|
public messages: CustomMessages = {
|
||||||
|
// 'required': '{{ field }} is required',
|
||||||
|
// 'licenses.minLength': 'at least {{ options.minLength }} permission must be defined',
|
||||||
|
'reviewer_id.required': 'reviewer_id must be defined',
|
||||||
|
};
|
||||||
|
|
||||||
constructor() {
|
constructor() {
|
||||||
this.proc = readFileSync('public/assets2/solr.sef.json');
|
this.proc = readFileSync('public/assets2/solr.sef.json');
|
||||||
|
@ -60,6 +66,7 @@ export default class DatasetsController {
|
||||||
})
|
})
|
||||||
.preload('titles')
|
.preload('titles')
|
||||||
.preload('user', (query) => query.select('id', 'login'))
|
.preload('user', (query) => query.select('id', 'login'))
|
||||||
|
.preload('editor', (query) => query.select('id', 'login'))
|
||||||
.paginate(page, 10);
|
.paginate(page, 10);
|
||||||
|
|
||||||
return inertia.render('Editor/Dataset/Index', {
|
return inertia.render('Editor/Dataset/Index', {
|
||||||
|
@ -68,6 +75,7 @@ export default class DatasetsController {
|
||||||
can: {
|
can: {
|
||||||
// create: await auth.user?.can(['dataset-submit']),
|
// create: await auth.user?.can(['dataset-submit']),
|
||||||
receive: await auth.user?.can(['dataset-receive']),
|
receive: await auth.user?.can(['dataset-receive']),
|
||||||
|
approve: await auth.user?.can(['dataset-approve']),
|
||||||
edit: await auth.user?.can(['dataset-editor-edit']),
|
edit: await auth.user?.can(['dataset-editor-edit']),
|
||||||
delete: await auth.user?.can(['dataset-editor-delete']),
|
delete: await auth.user?.can(['dataset-editor-delete']),
|
||||||
},
|
},
|
||||||
|
@ -103,6 +111,106 @@ export default class DatasetsController {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public async receiveUpdate({ auth, request, response }) {
|
||||||
|
const id = request.param('id');
|
||||||
|
// const { id } = params;
|
||||||
|
const dataset = await Dataset.findOrFail(id);
|
||||||
|
|
||||||
|
const validStates = ['released'];
|
||||||
|
if (!validStates.includes(dataset.server_state)) {
|
||||||
|
// throw new Error('Invalid server state!');
|
||||||
|
// return response.flash('warning', 'Invalid server state. Dataset cannot be released to editor').redirect().back();
|
||||||
|
return response
|
||||||
|
.flash(
|
||||||
|
'warning',
|
||||||
|
`Invalid server state. Dataset with id ${id} cannot be received by editor. Datset has server state ${dataset.server_state}.`,
|
||||||
|
)
|
||||||
|
.redirect()
|
||||||
|
.toRoute('editor.dataset.list');
|
||||||
|
}
|
||||||
|
|
||||||
|
dataset.server_state = 'editor_accepted';
|
||||||
|
const user = (await User.find(auth.user?.id)) as User;
|
||||||
|
// dataset.editor().associate(user).save();
|
||||||
|
try {
|
||||||
|
await dataset.related('editor').associate(user); // speichert schon ab
|
||||||
|
// await dataset.save();
|
||||||
|
return response.toRoute('editor.dataset.list').flash('message', `You have accepted dataset ${dataset.id}!`);
|
||||||
|
} catch (error) {
|
||||||
|
// Handle any errors
|
||||||
|
console.error(error);
|
||||||
|
return response.status(500).json({ error: 'An error occurred while accepting the data.' });
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public async approve({ request, inertia, response }) {
|
||||||
|
const id = request.param('id');
|
||||||
|
// $dataset = Dataset::with('user:id,login')->findOrFail($id);
|
||||||
|
const dataset = await Dataset.findOrFail(id);
|
||||||
|
|
||||||
|
const validStates = ['editor_accepted', 'rejected_reviewer'];
|
||||||
|
if (!validStates.includes(dataset.server_state)) {
|
||||||
|
// session.flash('errors', 'Invalid server state!');
|
||||||
|
return response
|
||||||
|
.flash(
|
||||||
|
'warning',
|
||||||
|
`Invalid server state. Dataset with id ${id} cannot be approved. Datset has server state ${dataset.server_state}.`,
|
||||||
|
)
|
||||||
|
.redirect()
|
||||||
|
.back();
|
||||||
|
}
|
||||||
|
|
||||||
|
const reviewers = await User.query()
|
||||||
|
.whereHas('roles', (builder) => {
|
||||||
|
builder.where('name', 'reviewer');
|
||||||
|
})
|
||||||
|
.pluck('login', 'id');
|
||||||
|
|
||||||
|
return inertia.render('Editor/Dataset/Approve', {
|
||||||
|
dataset,
|
||||||
|
reviewers,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
public async approveUpdate({ request, response }) {
|
||||||
|
const approveDatasetSchema = schema.create({
|
||||||
|
reviewer_id: schema.number(),
|
||||||
|
});
|
||||||
|
try {
|
||||||
|
await request.validate({ schema: approveDatasetSchema, messages: this.messages });
|
||||||
|
} catch (error) {
|
||||||
|
// return response.badRequest(error.messages);
|
||||||
|
throw error;
|
||||||
|
}
|
||||||
|
const id = request.param('id');
|
||||||
|
const dataset = await Dataset.findOrFail(id);
|
||||||
|
|
||||||
|
const validStates = ['editor_accepted', 'rejected_reviewer'];
|
||||||
|
if (!validStates.includes(dataset.server_state)) {
|
||||||
|
// session.flash('errors', 'Invalid server state!');
|
||||||
|
return response
|
||||||
|
.flash(
|
||||||
|
'warning',
|
||||||
|
`Invalid server state. Dataset with id ${id} cannot be approved. Datset has server state ${dataset.server_state}.`,
|
||||||
|
)
|
||||||
|
.redirect()
|
||||||
|
.back();
|
||||||
|
}
|
||||||
|
|
||||||
|
dataset.server_state = 'approved';
|
||||||
|
if (dataset.reject_reviewer_note != null) {
|
||||||
|
dataset.reject_reviewer_note = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
//save main and additional titles
|
||||||
|
const reviewer_id = request.input('reviewer_id', null);
|
||||||
|
dataset.reviewer_id = reviewer_id;
|
||||||
|
|
||||||
|
if (await dataset.save()) {
|
||||||
|
return response.toRoute('editor.dataset.list').flash('message', 'You have approved one dataset!');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public async create({}: HttpContextContract) {}
|
public async create({}: HttpContextContract) {}
|
||||||
|
|
||||||
public async store({}: HttpContextContract) {}
|
public async store({}: HttpContextContract) {}
|
||||||
|
|
|
@ -230,6 +230,19 @@ export default class Dataset extends DatasetExtension {
|
||||||
})
|
})
|
||||||
public xmlCache: HasOne<typeof DocumentXmlCache>;
|
public xmlCache: HasOne<typeof DocumentXmlCache>;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the account that the dataset belongs to
|
||||||
|
*/
|
||||||
|
@belongsTo(() => User, {
|
||||||
|
foreignKey: 'editor_id',
|
||||||
|
})
|
||||||
|
public editor: BelongsTo<typeof User>;
|
||||||
|
|
||||||
|
@belongsTo(() => User, {
|
||||||
|
foreignKey: 'reviewer_id',
|
||||||
|
})
|
||||||
|
public reviewer: BelongsTo<typeof User>;
|
||||||
|
|
||||||
static async earliestPublicationDate(): Promise<Dataset | null> {
|
static async earliestPublicationDate(): Promise<Dataset | null> {
|
||||||
const serverState = 'published';
|
const serverState = 'published';
|
||||||
|
|
||||||
|
|
475
package-lock.json
generated
475
package-lock.json
generated
|
@ -807,21 +807,21 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@babel/core": {
|
"node_modules/@babel/core": {
|
||||||
"version": "7.23.5",
|
"version": "7.23.6",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.5.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.6.tgz",
|
||||||
"integrity": "sha512-Cwc2XjUrG4ilcfOw4wBAK+enbdgwAcAJCfGUItPBKR7Mjw4aEfAFYrLxeRp4jWgtNIKn3n2AlBOfwwafl+42/g==",
|
"integrity": "sha512-FxpRyGjrMJXh7X3wGLGhNDCRiwpWEF74sKjTLDJSG5Kyvow3QZaG0Adbqzi9ZrVjTWpsX+2cxWXD71NMg93kdw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@ampproject/remapping": "^2.2.0",
|
"@ampproject/remapping": "^2.2.0",
|
||||||
"@babel/code-frame": "^7.23.5",
|
"@babel/code-frame": "^7.23.5",
|
||||||
"@babel/generator": "^7.23.5",
|
"@babel/generator": "^7.23.6",
|
||||||
"@babel/helper-compilation-targets": "^7.22.15",
|
"@babel/helper-compilation-targets": "^7.23.6",
|
||||||
"@babel/helper-module-transforms": "^7.23.3",
|
"@babel/helper-module-transforms": "^7.23.3",
|
||||||
"@babel/helpers": "^7.23.5",
|
"@babel/helpers": "^7.23.6",
|
||||||
"@babel/parser": "^7.23.5",
|
"@babel/parser": "^7.23.6",
|
||||||
"@babel/template": "^7.22.15",
|
"@babel/template": "^7.22.15",
|
||||||
"@babel/traverse": "^7.23.5",
|
"@babel/traverse": "^7.23.6",
|
||||||
"@babel/types": "^7.23.5",
|
"@babel/types": "^7.23.6",
|
||||||
"convert-source-map": "^2.0.0",
|
"convert-source-map": "^2.0.0",
|
||||||
"debug": "^4.1.0",
|
"debug": "^4.1.0",
|
||||||
"gensync": "^1.0.0-beta.2",
|
"gensync": "^1.0.0-beta.2",
|
||||||
|
@ -846,12 +846,12 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@babel/generator": {
|
"node_modules/@babel/generator": {
|
||||||
"version": "7.23.5",
|
"version": "7.23.6",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.5.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.6.tgz",
|
||||||
"integrity": "sha512-BPssCHrBD+0YrxviOa3QzpqwhNIXKEtOa2jQrm4FlmkC2apYgRnQcmPWiGZDlGxiNtltnUFolMe8497Esry+jA==",
|
"integrity": "sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/types": "^7.23.5",
|
"@babel/types": "^7.23.6",
|
||||||
"@jridgewell/gen-mapping": "^0.3.2",
|
"@jridgewell/gen-mapping": "^0.3.2",
|
||||||
"@jridgewell/trace-mapping": "^0.3.17",
|
"@jridgewell/trace-mapping": "^0.3.17",
|
||||||
"jsesc": "^2.5.1"
|
"jsesc": "^2.5.1"
|
||||||
|
@ -885,14 +885,14 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@babel/helper-compilation-targets": {
|
"node_modules/@babel/helper-compilation-targets": {
|
||||||
"version": "7.22.15",
|
"version": "7.23.6",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz",
|
||||||
"integrity": "sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==",
|
"integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/compat-data": "^7.22.9",
|
"@babel/compat-data": "^7.23.5",
|
||||||
"@babel/helper-validator-option": "^7.22.15",
|
"@babel/helper-validator-option": "^7.23.5",
|
||||||
"browserslist": "^4.21.9",
|
"browserslist": "^4.22.2",
|
||||||
"lru-cache": "^5.1.1",
|
"lru-cache": "^5.1.1",
|
||||||
"semver": "^6.3.1"
|
"semver": "^6.3.1"
|
||||||
},
|
},
|
||||||
|
@ -910,9 +910,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@babel/helper-create-class-features-plugin": {
|
"node_modules/@babel/helper-create-class-features-plugin": {
|
||||||
"version": "7.23.5",
|
"version": "7.23.6",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.23.5.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.23.6.tgz",
|
||||||
"integrity": "sha512-QELlRWxSpgdwdJzSJn4WAhKC+hvw/AtHbbrIoncKHkhKKR/luAlKkgBDcri1EzWAo8f8VvYVryEHN4tax/V67A==",
|
"integrity": "sha512-cBXU1vZni/CpGF29iTu4YRbOZt3Wat6zCoMDxRF1MayiEc4URxOj31tT65HUM0CRpMowA3HCJaAOVOUnMf96cw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/helper-annotate-as-pure": "^7.22.5",
|
"@babel/helper-annotate-as-pure": "^7.22.5",
|
||||||
|
@ -968,9 +968,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@babel/helper-define-polyfill-provider": {
|
"node_modules/@babel/helper-define-polyfill-provider": {
|
||||||
"version": "0.4.3",
|
"version": "0.4.4",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.3.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.4.tgz",
|
||||||
"integrity": "sha512-WBrLmuPP47n7PNwsZ57pqam6G/RGo1vw/87b0Blc53tZNGZ4x7YvZ6HgQe2vo1W/FR20OgjeZuGXzudPiXHFug==",
|
"integrity": "sha512-QcJMILQCu2jm5TFPGA3lCpJJTeEP+mqeXooG/NZbg/h5FTFi6V0+99ahlRsW8/kRLyb24LZVCCiclDedhLKcBA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/helper-compilation-targets": "^7.22.6",
|
"@babel/helper-compilation-targets": "^7.22.6",
|
||||||
|
@ -1193,14 +1193,14 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@babel/helpers": {
|
"node_modules/@babel/helpers": {
|
||||||
"version": "7.23.5",
|
"version": "7.23.6",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.5.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.6.tgz",
|
||||||
"integrity": "sha512-oO7us8FzTEsG3U6ag9MfdF1iA/7Z6dz+MtFhifZk8C8o453rGJFFWUP1t+ULM9TUIAzC9uxXEiXjOiVMyd7QPg==",
|
"integrity": "sha512-wCfsbN4nBidDRhpDhvcKlzHWCTlgJYUUdSJfzXb2NuBssDSIjc3xcb+znA7l+zYsFljAcGM0aFkN40cR3lXiGA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/template": "^7.22.15",
|
"@babel/template": "^7.22.15",
|
||||||
"@babel/traverse": "^7.23.5",
|
"@babel/traverse": "^7.23.6",
|
||||||
"@babel/types": "^7.23.5"
|
"@babel/types": "^7.23.6"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=6.9.0"
|
"node": ">=6.9.0"
|
||||||
|
@ -1221,9 +1221,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@babel/parser": {
|
"node_modules/@babel/parser": {
|
||||||
"version": "7.23.5",
|
"version": "7.23.6",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.5.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.6.tgz",
|
||||||
"integrity": "sha512-hOOqoiNXrmGdFbhgCzu6GiURxUgM27Xwd/aPuu8RfHEZPBzL1Z54okAHAQjXfcQNwvrlkAmAp4SlRTZ45vlthQ==",
|
"integrity": "sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==",
|
||||||
"bin": {
|
"bin": {
|
||||||
"parser": "bin/babel-parser.js"
|
"parser": "bin/babel-parser.js"
|
||||||
},
|
},
|
||||||
|
@ -1297,14 +1297,15 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@babel/plugin-proposal-decorators": {
|
"node_modules/@babel/plugin-proposal-decorators": {
|
||||||
"version": "7.23.5",
|
"version": "7.23.6",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.23.5.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.23.6.tgz",
|
||||||
"integrity": "sha512-6IsY8jOeWibsengGlWIezp7cuZEFzNlAghFpzh9wiZwhQ42/hRcPnY/QV9HJoKTlujupinSlnQPiEy/u2C1ZfQ==",
|
"integrity": "sha512-D7Ccq9LfkBFnow3azZGJvZYgcfeqAw3I1e5LoTpj6UKIFQilh8yqXsIGcRIqbBdsPWIz+Ze7ZZfggSj62Qp+Fg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/helper-create-class-features-plugin": "^7.23.5",
|
"@babel/helper-create-class-features-plugin": "^7.23.6",
|
||||||
"@babel/helper-plugin-utils": "^7.22.5",
|
"@babel/helper-plugin-utils": "^7.22.5",
|
||||||
"@babel/helper-replace-supers": "^7.22.20",
|
"@babel/helper-replace-supers": "^7.22.20",
|
||||||
|
"@babel/helper-skip-transparent-expression-wrappers": "^7.22.5",
|
||||||
"@babel/helper-split-export-declaration": "^7.22.6",
|
"@babel/helper-split-export-declaration": "^7.22.6",
|
||||||
"@babel/plugin-syntax-decorators": "^7.23.3"
|
"@babel/plugin-syntax-decorators": "^7.23.3"
|
||||||
},
|
},
|
||||||
|
@ -1854,12 +1855,13 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@babel/plugin-transform-for-of": {
|
"node_modules/@babel/plugin-transform-for-of": {
|
||||||
"version": "7.23.3",
|
"version": "7.23.6",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.23.3.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.23.6.tgz",
|
||||||
"integrity": "sha512-X8jSm8X1CMwxmK878qsUGJRmbysKNbdpTv/O1/v0LuY/ZkZrng5WYiekYSdg9m09OTmDDUWeEDsTE+17WYbAZw==",
|
"integrity": "sha512-aYH4ytZ0qSuBbpfhuofbg/e96oQ7U2w1Aw/UQmKT+1l39uEhUPoFS3fHevDc1G0OvewyDudfMKY1OulczHzWIw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/helper-plugin-utils": "^7.22.5"
|
"@babel/helper-plugin-utils": "^7.22.5",
|
||||||
|
"@babel/helper-skip-transparent-expression-wrappers": "^7.22.5"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=6.9.0"
|
"node": ">=6.9.0"
|
||||||
|
@ -2241,9 +2243,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@babel/plugin-transform-runtime": {
|
"node_modules/@babel/plugin-transform-runtime": {
|
||||||
"version": "7.23.4",
|
"version": "7.23.6",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.23.4.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.23.6.tgz",
|
||||||
"integrity": "sha512-ITwqpb6V4btwUG0YJR82o2QvmWrLgDnx/p2A3CTPYGaRgULkDiC0DRA2C4jlRB9uXGUEfaSS/IGHfVW+ohzYDw==",
|
"integrity": "sha512-kF1Zg62aPseQ11orDhFRw+aPG/eynNQtI+TyY+m33qJa2cJ5EEvza2P2BNTIA9E5MyqFABHEyY6CPHwgdy9aNg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/helper-module-imports": "^7.22.15",
|
"@babel/helper-module-imports": "^7.22.15",
|
||||||
|
@ -2346,13 +2348,13 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@babel/plugin-transform-typescript": {
|
"node_modules/@babel/plugin-transform-typescript": {
|
||||||
"version": "7.23.5",
|
"version": "7.23.6",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.23.5.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.23.6.tgz",
|
||||||
"integrity": "sha512-2fMkXEJkrmwgu2Bsv1Saxgj30IXZdJ+84lQcKKI7sm719oXs0BBw2ZENKdJdR1PjWndgLCEBNXJOri0fk7RYQA==",
|
"integrity": "sha512-6cBG5mBvUu4VUD04OHKnYzbuHNP8huDsD3EDqqpIpsswTDoqHCjLoHb6+QgsV1WsT2nipRqCPgxD3LXnEO7XfA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/helper-annotate-as-pure": "^7.22.5",
|
"@babel/helper-annotate-as-pure": "^7.22.5",
|
||||||
"@babel/helper-create-class-features-plugin": "^7.23.5",
|
"@babel/helper-create-class-features-plugin": "^7.23.6",
|
||||||
"@babel/helper-plugin-utils": "^7.22.5",
|
"@babel/helper-plugin-utils": "^7.22.5",
|
||||||
"@babel/plugin-syntax-typescript": "^7.23.3"
|
"@babel/plugin-syntax-typescript": "^7.23.3"
|
||||||
},
|
},
|
||||||
|
@ -2427,13 +2429,13 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@babel/preset-env": {
|
"node_modules/@babel/preset-env": {
|
||||||
"version": "7.23.5",
|
"version": "7.23.6",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.23.5.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.23.6.tgz",
|
||||||
"integrity": "sha512-0d/uxVD6tFGWXGDSfyMD1p2otoaKmu6+GD+NfAx0tMaH+dxORnp7T9TaVQ6mKyya7iBtCIVxHjWT7MuzzM9z+A==",
|
"integrity": "sha512-2XPn/BqKkZCpzYhUUNZ1ssXw7DcXfKQEjv/uXZUXgaebCMYmkEsfZ2yY+vv+xtXv50WmL5SGhyB6/xsWxIvvOQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/compat-data": "^7.23.5",
|
"@babel/compat-data": "^7.23.5",
|
||||||
"@babel/helper-compilation-targets": "^7.22.15",
|
"@babel/helper-compilation-targets": "^7.23.6",
|
||||||
"@babel/helper-plugin-utils": "^7.22.5",
|
"@babel/helper-plugin-utils": "^7.22.5",
|
||||||
"@babel/helper-validator-option": "^7.23.5",
|
"@babel/helper-validator-option": "^7.23.5",
|
||||||
"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.23.3",
|
"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.23.3",
|
||||||
|
@ -2473,7 +2475,7 @@
|
||||||
"@babel/plugin-transform-dynamic-import": "^7.23.4",
|
"@babel/plugin-transform-dynamic-import": "^7.23.4",
|
||||||
"@babel/plugin-transform-exponentiation-operator": "^7.23.3",
|
"@babel/plugin-transform-exponentiation-operator": "^7.23.3",
|
||||||
"@babel/plugin-transform-export-namespace-from": "^7.23.4",
|
"@babel/plugin-transform-export-namespace-from": "^7.23.4",
|
||||||
"@babel/plugin-transform-for-of": "^7.23.3",
|
"@babel/plugin-transform-for-of": "^7.23.6",
|
||||||
"@babel/plugin-transform-function-name": "^7.23.3",
|
"@babel/plugin-transform-function-name": "^7.23.3",
|
||||||
"@babel/plugin-transform-json-strings": "^7.23.4",
|
"@babel/plugin-transform-json-strings": "^7.23.4",
|
||||||
"@babel/plugin-transform-literals": "^7.23.3",
|
"@babel/plugin-transform-literals": "^7.23.3",
|
||||||
|
@ -2569,9 +2571,9 @@
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/@babel/runtime": {
|
"node_modules/@babel/runtime": {
|
||||||
"version": "7.23.5",
|
"version": "7.23.6",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.5.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.6.tgz",
|
||||||
"integrity": "sha512-NdUTHcPe4C99WxPub+K9l9tK5/lV4UXIoaHSYgzco9BCyjKAAwzdBI+wWtYqHt7LJdbo74ZjRPJgzVweq1sz0w==",
|
"integrity": "sha512-zHd0eUrf5GZoOWVCXp6koAKQTfZV07eit6bGPmJgnZdnSAvvZee6zniW2XMF7Cmc4ISOOnPy3QaSiIJGJkVEDQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"regenerator-runtime": "^0.14.0"
|
"regenerator-runtime": "^0.14.0"
|
||||||
|
@ -2595,20 +2597,20 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@babel/traverse": {
|
"node_modules/@babel/traverse": {
|
||||||
"version": "7.23.5",
|
"version": "7.23.6",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.5.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.6.tgz",
|
||||||
"integrity": "sha512-czx7Xy5a6sapWWRx61m1Ke1Ra4vczu1mCTtJam5zRTBOonfdJ+S/B6HYmGYu3fJtr8GGET3si6IhgWVBhJ/m8w==",
|
"integrity": "sha512-czastdK1e8YByZqezMPFiZ8ahwVMh/ESl9vPgvgdB9AmFMGP5jfpFax74AQgl5zj4XHzqeYAg2l8PuUeRS1MgQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/code-frame": "^7.23.5",
|
"@babel/code-frame": "^7.23.5",
|
||||||
"@babel/generator": "^7.23.5",
|
"@babel/generator": "^7.23.6",
|
||||||
"@babel/helper-environment-visitor": "^7.22.20",
|
"@babel/helper-environment-visitor": "^7.22.20",
|
||||||
"@babel/helper-function-name": "^7.23.0",
|
"@babel/helper-function-name": "^7.23.0",
|
||||||
"@babel/helper-hoist-variables": "^7.22.5",
|
"@babel/helper-hoist-variables": "^7.22.5",
|
||||||
"@babel/helper-split-export-declaration": "^7.22.6",
|
"@babel/helper-split-export-declaration": "^7.22.6",
|
||||||
"@babel/parser": "^7.23.5",
|
"@babel/parser": "^7.23.6",
|
||||||
"@babel/types": "^7.23.5",
|
"@babel/types": "^7.23.6",
|
||||||
"debug": "^4.1.0",
|
"debug": "^4.3.1",
|
||||||
"globals": "^11.1.0"
|
"globals": "^11.1.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
|
@ -2616,9 +2618,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@babel/types": {
|
"node_modules/@babel/types": {
|
||||||
"version": "7.23.5",
|
"version": "7.23.6",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.5.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.6.tgz",
|
||||||
"integrity": "sha512-ON5kSOJwVO6xXVRTvOI0eOnWe7VdUcIpsovGo9U/Br4Ie4UVFQTboO2cYnDhAGU6Fp+UxSiT+pMft0SMHfuq6w==",
|
"integrity": "sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/helper-string-parser": "^7.23.4",
|
"@babel/helper-string-parser": "^7.23.4",
|
||||||
|
@ -2722,9 +2724,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@eslint/eslintrc": {
|
"node_modules/@eslint/eslintrc": {
|
||||||
"version": "2.1.3",
|
"version": "2.1.4",
|
||||||
"resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.3.tgz",
|
"resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz",
|
||||||
"integrity": "sha512-yZzuIG+jnVu6hNSzFEN07e8BxF3uAzYtQb6uDkaYZLo6oYZDCq454c5kB8zxnzfCYyP4MIuyBn10L0DqwujTmA==",
|
"integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"ajv": "^6.12.4",
|
"ajv": "^6.12.4",
|
||||||
|
@ -2751,9 +2753,9 @@
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/@eslint/eslintrc/node_modules/globals": {
|
"node_modules/@eslint/eslintrc/node_modules/globals": {
|
||||||
"version": "13.23.0",
|
"version": "13.24.0",
|
||||||
"resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz",
|
"resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz",
|
||||||
"integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==",
|
"integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"type-fest": "^0.20.2"
|
"type-fest": "^0.20.2"
|
||||||
|
@ -2790,9 +2792,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@eslint/js": {
|
"node_modules/@eslint/js": {
|
||||||
"version": "8.54.0",
|
"version": "8.55.0",
|
||||||
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.54.0.tgz",
|
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.55.0.tgz",
|
||||||
"integrity": "sha512-ut5V+D+fOoWPgGGNj83GGjnntO39xDy6DWxO0wb7Jp3DcMX0TfIqdzHF85VTQkerdyGmuuMD9AKAo5KiNlf/AQ==",
|
"integrity": "sha512-qQfo2mxH5yVom1kacMtZZJFVdW+E70mqHMJvVg6WTLo+VBuQJ4TojZlfWBjK0ve5BdEeNAVxOsl/nvNMpJOaJA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
|
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
|
||||||
|
@ -2814,14 +2816,14 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@fontsource/archivo-black": {
|
"node_modules/@fontsource/archivo-black": {
|
||||||
"version": "5.0.17",
|
"version": "5.0.18",
|
||||||
"resolved": "https://registry.npmjs.org/@fontsource/archivo-black/-/archivo-black-5.0.17.tgz",
|
"resolved": "https://registry.npmjs.org/@fontsource/archivo-black/-/archivo-black-5.0.18.tgz",
|
||||||
"integrity": "sha512-5LB93AsMUxofgIkHz7lSBfJFXYBPRqCV6MRLhOlbFLwXW50frsaryFFvT+ZqtsDLPrGPvPv0FD5Cqzkp0g4Paw=="
|
"integrity": "sha512-n0WDzZEiWsc9GIViDIoV7W/TPmLjPU2pAZhImZx9/g3XwxjykV/RUFHS+BFV2YdioYDcj8WSCeTDEThNInZQFg=="
|
||||||
},
|
},
|
||||||
"node_modules/@fontsource/inter": {
|
"node_modules/@fontsource/inter": {
|
||||||
"version": "5.0.15",
|
"version": "5.0.16",
|
||||||
"resolved": "https://registry.npmjs.org/@fontsource/inter/-/inter-5.0.15.tgz",
|
"resolved": "https://registry.npmjs.org/@fontsource/inter/-/inter-5.0.16.tgz",
|
||||||
"integrity": "sha512-/IoWYEXl8lqJEx50JqNPT+bI4VNwxb/bg2oOfvG8PiEsDsmHRFvWBVHlohBNn1+QdBf+KbAjU/gb4vlGOSsVWw=="
|
"integrity": "sha512-qF0aH5UiZvCmneX5orJbVRoc2VTyLTV3X/7laMp03Qt28L+B9tFlZODOGUL64wDWc69YVdi1LeJB0cIgd51lvw=="
|
||||||
},
|
},
|
||||||
"node_modules/@humanwhocodes/config-array": {
|
"node_modules/@humanwhocodes/config-array": {
|
||||||
"version": "0.11.13",
|
"version": "0.11.13",
|
||||||
|
@ -4144,9 +4146,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@types/luxon": {
|
"node_modules/@types/luxon": {
|
||||||
"version": "3.3.6",
|
"version": "3.3.7",
|
||||||
"resolved": "https://registry.npmjs.org/@types/luxon/-/luxon-3.3.6.tgz",
|
"resolved": "https://registry.npmjs.org/@types/luxon/-/luxon-3.3.7.tgz",
|
||||||
"integrity": "sha512-LblarKeI26YsMLxHDIQ0295wPSLjkl98eNwDcVhz3zbo1H+kfnkzR01H5Ai5LBzSeddX0ZJSpGwKEZihGb5diw=="
|
"integrity": "sha512-gKc9P2d4g5uYwmy4s/MO/yOVPmvHyvzka1YH6i5dM03UrFofHSmgc0D0ymbDRStFWHusk6cwwF6nhLm/ckBbbQ=="
|
||||||
},
|
},
|
||||||
"node_modules/@types/md5": {
|
"node_modules/@types/md5": {
|
||||||
"version": "2.3.5",
|
"version": "2.3.5",
|
||||||
|
@ -4166,9 +4168,9 @@
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/@types/node": {
|
"node_modules/@types/node": {
|
||||||
"version": "20.10.1",
|
"version": "20.10.4",
|
||||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.10.1.tgz",
|
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.10.4.tgz",
|
||||||
"integrity": "sha512-T2qwhjWwGH81vUEx4EXmBKsTJRXFXNZTL4v0gi01+zyBmCwzE6TyHszqX01m+QHTEq+EZNo13NeJIdEqf+Myrg==",
|
"integrity": "sha512-D08YG6rr8X90YB56tSIuBaddy/UXAA9RKJoFvrsnogAum/0pmjkgi4+2nx96A330FmioegBWmEYQ+syqCFaveg==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"undici-types": "~5.26.4"
|
"undici-types": "~5.26.4"
|
||||||
}
|
}
|
||||||
|
@ -4598,49 +4600,49 @@
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/@vue/compiler-core": {
|
"node_modules/@vue/compiler-core": {
|
||||||
"version": "3.3.9",
|
"version": "3.3.11",
|
||||||
"resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.3.9.tgz",
|
"resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.3.11.tgz",
|
||||||
"integrity": "sha512-+/Lf68Vr/nFBA6ol4xOtJrW+BQWv3QWKfRwGSm70jtXwfhZNF4R/eRgyVJYoxFRhdCTk/F6g99BP0ffPgZihfQ==",
|
"integrity": "sha512-h97/TGWBilnLuRaj58sxNrsUU66fwdRKLOLQ9N/5iNDfp+DZhYH9Obhe0bXxhedl8fjAgpRANpiZfbgWyruQ0w==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/parser": "^7.23.3",
|
"@babel/parser": "^7.23.5",
|
||||||
"@vue/shared": "3.3.9",
|
"@vue/shared": "3.3.11",
|
||||||
"estree-walker": "^2.0.2",
|
"estree-walker": "^2.0.2",
|
||||||
"source-map-js": "^1.0.2"
|
"source-map-js": "^1.0.2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@vue/compiler-dom": {
|
"node_modules/@vue/compiler-dom": {
|
||||||
"version": "3.3.9",
|
"version": "3.3.11",
|
||||||
"resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.3.9.tgz",
|
"resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.3.11.tgz",
|
||||||
"integrity": "sha512-nfWubTtLXuT4iBeDSZ5J3m218MjOy42Vp2pmKVuBKo2/BLcrFUX8nCSr/bKRFiJ32R8qbdnnnBgRn9AdU5v0Sg==",
|
"integrity": "sha512-zoAiUIqSKqAJ81WhfPXYmFGwDRuO+loqLxvXmfUdR5fOitPoUiIeFI9cTTyv9MU5O1+ZZglJVTusWzy+wfk5hw==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@vue/compiler-core": "3.3.9",
|
"@vue/compiler-core": "3.3.11",
|
||||||
"@vue/shared": "3.3.9"
|
"@vue/shared": "3.3.11"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@vue/compiler-sfc": {
|
"node_modules/@vue/compiler-sfc": {
|
||||||
"version": "3.3.9",
|
"version": "3.3.11",
|
||||||
"resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.3.9.tgz",
|
"resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.3.11.tgz",
|
||||||
"integrity": "sha512-wy0CNc8z4ihoDzjASCOCsQuzW0A/HP27+0MDSSICMjVIFzk/rFViezkR3dzH+miS2NDEz8ywMdbjO5ylhOLI2A==",
|
"integrity": "sha512-U4iqPlHO0KQeK1mrsxCN0vZzw43/lL8POxgpzcJweopmqtoYy9nljJzWDIQS3EfjiYhfdtdk9Gtgz7MRXnz3GA==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/parser": "^7.23.3",
|
"@babel/parser": "^7.23.5",
|
||||||
"@vue/compiler-core": "3.3.9",
|
"@vue/compiler-core": "3.3.11",
|
||||||
"@vue/compiler-dom": "3.3.9",
|
"@vue/compiler-dom": "3.3.11",
|
||||||
"@vue/compiler-ssr": "3.3.9",
|
"@vue/compiler-ssr": "3.3.11",
|
||||||
"@vue/reactivity-transform": "3.3.9",
|
"@vue/reactivity-transform": "3.3.11",
|
||||||
"@vue/shared": "3.3.9",
|
"@vue/shared": "3.3.11",
|
||||||
"estree-walker": "^2.0.2",
|
"estree-walker": "^2.0.2",
|
||||||
"magic-string": "^0.30.5",
|
"magic-string": "^0.30.5",
|
||||||
"postcss": "^8.4.31",
|
"postcss": "^8.4.32",
|
||||||
"source-map-js": "^1.0.2"
|
"source-map-js": "^1.0.2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@vue/compiler-ssr": {
|
"node_modules/@vue/compiler-ssr": {
|
||||||
"version": "3.3.9",
|
"version": "3.3.11",
|
||||||
"resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.3.9.tgz",
|
"resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.3.11.tgz",
|
||||||
"integrity": "sha512-NO5oobAw78R0G4SODY5A502MGnDNiDjf6qvhn7zD7TJGc8XDeIEw4fg6JU705jZ/YhuokBKz0A5a/FL/XZU73g==",
|
"integrity": "sha512-Zd66ZwMvndxRTgVPdo+muV4Rv9n9DwQ4SSgWWKWkPFebHQfVYRrVjeygmmDmPewsHyznCNvJ2P2d6iOOhdv8Qg==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@vue/compiler-dom": "3.3.9",
|
"@vue/compiler-dom": "3.3.11",
|
||||||
"@vue/shared": "3.3.9"
|
"@vue/shared": "3.3.11"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@vue/devtools-api": {
|
"node_modules/@vue/devtools-api": {
|
||||||
|
@ -4650,65 +4652,65 @@
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/@vue/reactivity": {
|
"node_modules/@vue/reactivity": {
|
||||||
"version": "3.3.9",
|
"version": "3.3.11",
|
||||||
"resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.3.9.tgz",
|
"resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.3.11.tgz",
|
||||||
"integrity": "sha512-VmpIqlNp+aYDg2X0xQhJqHx9YguOmz2UxuUJDckBdQCNkipJvfk9yA75woLWElCa0Jtyec3lAAt49GO0izsphw==",
|
"integrity": "sha512-D5tcw091f0nuu+hXq5XANofD0OXnBmaRqMYl5B3fCR+mX+cXJIGNw/VNawBqkjLNWETrFW0i+xH9NvDbTPVh7g==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@vue/shared": "3.3.9"
|
"@vue/shared": "3.3.11"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@vue/reactivity-transform": {
|
"node_modules/@vue/reactivity-transform": {
|
||||||
"version": "3.3.9",
|
"version": "3.3.11",
|
||||||
"resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.3.9.tgz",
|
"resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.3.11.tgz",
|
||||||
"integrity": "sha512-HnUFm7Ry6dFa4Lp63DAxTixUp8opMtQr6RxQCpDI1vlh12rkGIeYqMvJtK+IKyEfEOa2I9oCkD1mmsPdaGpdVg==",
|
"integrity": "sha512-fPGjH0wqJo68A0wQ1k158utDq/cRyZNlFoxGwNScE28aUFOKFEnCBsvyD8jHn+0kd0UKVpuGuaZEQ6r9FJRqCg==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/parser": "^7.23.3",
|
"@babel/parser": "^7.23.5",
|
||||||
"@vue/compiler-core": "3.3.9",
|
"@vue/compiler-core": "3.3.11",
|
||||||
"@vue/shared": "3.3.9",
|
"@vue/shared": "3.3.11",
|
||||||
"estree-walker": "^2.0.2",
|
"estree-walker": "^2.0.2",
|
||||||
"magic-string": "^0.30.5"
|
"magic-string": "^0.30.5"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@vue/runtime-core": {
|
"node_modules/@vue/runtime-core": {
|
||||||
"version": "3.3.9",
|
"version": "3.3.11",
|
||||||
"resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.3.9.tgz",
|
"resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.3.11.tgz",
|
||||||
"integrity": "sha512-xxaG9KvPm3GTRuM4ZyU8Tc+pMVzcu6eeoSRQJ9IE7NmCcClW6z4B3Ij6L4EDl80sxe/arTtQ6YmgiO4UZqRc+w==",
|
"integrity": "sha512-g9ztHGwEbS5RyWaOpXuyIVFTschclnwhqEbdy5AwGhYOgc7m/q3NFwr50MirZwTTzX55JY8pSkeib9BX04NIpw==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@vue/reactivity": "3.3.9",
|
"@vue/reactivity": "3.3.11",
|
||||||
"@vue/shared": "3.3.9"
|
"@vue/shared": "3.3.11"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@vue/runtime-dom": {
|
"node_modules/@vue/runtime-dom": {
|
||||||
"version": "3.3.9",
|
"version": "3.3.11",
|
||||||
"resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.3.9.tgz",
|
"resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.3.11.tgz",
|
||||||
"integrity": "sha512-e7LIfcxYSWbV6BK1wQv9qJyxprC75EvSqF/kQKe6bdZEDNValzeRXEVgiX7AHI6hZ59HA4h7WT5CGvm69vzJTQ==",
|
"integrity": "sha512-OlhtV1PVpbgk+I2zl+Y5rQtDNcCDs12rsRg71XwaA2/Rbllw6mBLMi57VOn8G0AjOJ4Mdb4k56V37+g8ukShpQ==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@vue/runtime-core": "3.3.9",
|
"@vue/runtime-core": "3.3.11",
|
||||||
"@vue/shared": "3.3.9",
|
"@vue/shared": "3.3.11",
|
||||||
"csstype": "^3.1.2"
|
"csstype": "^3.1.2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@vue/runtime-dom/node_modules/csstype": {
|
"node_modules/@vue/runtime-dom/node_modules/csstype": {
|
||||||
"version": "3.1.2",
|
"version": "3.1.3",
|
||||||
"resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz",
|
||||||
"integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ=="
|
"integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw=="
|
||||||
},
|
},
|
||||||
"node_modules/@vue/server-renderer": {
|
"node_modules/@vue/server-renderer": {
|
||||||
"version": "3.3.9",
|
"version": "3.3.11",
|
||||||
"resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.3.9.tgz",
|
"resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.3.11.tgz",
|
||||||
"integrity": "sha512-w0zT/s5l3Oa3ZjtLW88eO4uV6AQFqU8X5GOgzq7SkQQu6vVr+8tfm+OI2kDBplS/W/XgCBuFXiPw6T5EdwXP0A==",
|
"integrity": "sha512-AIWk0VwwxCAm4wqtJyxBylRTXSy1wCLOKbWxHaHiu14wjsNYtiRCSgVuqEPVuDpErOlRdNnuRgipQfXRLjLN5A==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@vue/compiler-ssr": "3.3.9",
|
"@vue/compiler-ssr": "3.3.11",
|
||||||
"@vue/shared": "3.3.9"
|
"@vue/shared": "3.3.11"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"vue": "3.3.9"
|
"vue": "3.3.11"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@vue/shared": {
|
"node_modules/@vue/shared": {
|
||||||
"version": "3.3.9",
|
"version": "3.3.11",
|
||||||
"resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.3.9.tgz",
|
"resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.3.11.tgz",
|
||||||
"integrity": "sha512-ZE0VTIR0LmYgeyhurPTpy4KzKsuDyQbMSdM49eKkMnT5X4VfFBLysMzjIZhLEFQYjjOVVfbvUDHckwjDFiO2eA=="
|
"integrity": "sha512-u2G8ZQ9IhMWTMXaWqZycnK4UthG1fA238CD+DP4Dm4WJi5hdUKKLg0RMRaRpDPNMdkTwIDkp7WtD0Rd9BH9fLw=="
|
||||||
},
|
},
|
||||||
"node_modules/@vue/tsconfig": {
|
"node_modules/@vue/tsconfig": {
|
||||||
"version": "0.4.0",
|
"version": "0.4.0",
|
||||||
|
@ -5050,9 +5052,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/acorn-walk": {
|
"node_modules/acorn-walk": {
|
||||||
"version": "8.3.0",
|
"version": "8.3.1",
|
||||||
"resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.1.tgz",
|
||||||
"integrity": "sha512-FS7hV565M5l1R08MXqo8odwMTB02C2UqzB17RVgu9EyuYFBqJZ3/ZY97sQD5FewVu1UyDFc1yztUDrAwT0EypA==",
|
"integrity": "sha512-TgUZgYvqZprrl7YldZNoa9OciCAyZR+Ejm9eXzKCmjsF5IKp/wgQ7Z/ZpjpGTIUPwrHQIcYeI8qDh4PsEwxMbw==",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=0.4.0"
|
"node": ">=0.4.0"
|
||||||
}
|
}
|
||||||
|
@ -5846,13 +5848,13 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/babel-plugin-polyfill-corejs2": {
|
"node_modules/babel-plugin-polyfill-corejs2": {
|
||||||
"version": "0.4.6",
|
"version": "0.4.7",
|
||||||
"resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.6.tgz",
|
"resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.7.tgz",
|
||||||
"integrity": "sha512-jhHiWVZIlnPbEUKSSNb9YoWcQGdlTLq7z1GHL4AjFxaoOUMuuEVJ+Y4pAaQUGOGk93YsVCKPbqbfw3m0SM6H8Q==",
|
"integrity": "sha512-LidDk/tEGDfuHW2DWh/Hgo4rmnw3cduK6ZkOI1NPFceSK3n/yAGeOsNT7FLnSGHkXj3RHGSEVkN3FsCTY6w2CQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/compat-data": "^7.22.6",
|
"@babel/compat-data": "^7.22.6",
|
||||||
"@babel/helper-define-polyfill-provider": "^0.4.3",
|
"@babel/helper-define-polyfill-provider": "^0.4.4",
|
||||||
"semver": "^6.3.1"
|
"semver": "^6.3.1"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
|
@ -5869,12 +5871,12 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/babel-plugin-polyfill-corejs3": {
|
"node_modules/babel-plugin-polyfill-corejs3": {
|
||||||
"version": "0.8.6",
|
"version": "0.8.7",
|
||||||
"resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.6.tgz",
|
"resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.7.tgz",
|
||||||
"integrity": "sha512-leDIc4l4tUgU7str5BWLS2h8q2N4Nf6lGZP6UrNDxdtfF2g69eJ5L0H7S8A5Ln/arfFAfHor5InAdZuIOwZdgQ==",
|
"integrity": "sha512-KyDvZYxAzkC0Aj2dAPyDzi2Ym15e5JKZSK+maI7NAwSqofvuFglbSsxE7wUOvTg9oFVnHMzVzBKcqEb4PJgtOA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/helper-define-polyfill-provider": "^0.4.3",
|
"@babel/helper-define-polyfill-provider": "^0.4.4",
|
||||||
"core-js-compat": "^3.33.1"
|
"core-js-compat": "^3.33.1"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
|
@ -5882,12 +5884,12 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/babel-plugin-polyfill-regenerator": {
|
"node_modules/babel-plugin-polyfill-regenerator": {
|
||||||
"version": "0.5.3",
|
"version": "0.5.4",
|
||||||
"resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.3.tgz",
|
"resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.4.tgz",
|
||||||
"integrity": "sha512-8sHeDOmXC8csczMrYEOf0UTNa4yE2SxV5JGeT/LP1n0OYVDUUFPxG9vdk2AlDlIit4t+Kf0xCtpgXPBwnn/9pw==",
|
"integrity": "sha512-S/x2iOCvDaCASLYsOOgWOq4bCfKYVqvO/uxjkaYyZ3rVsVE3CeAI/c84NpyuBBymEgNvHgjEot3a9/Z/kXvqsg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/helper-define-polyfill-provider": "^0.4.3"
|
"@babel/helper-define-polyfill-provider": "^0.4.4"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
|
"@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
|
||||||
|
@ -6125,9 +6127,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/browserslist": {
|
"node_modules/browserslist": {
|
||||||
"version": "4.22.1",
|
"version": "4.22.2",
|
||||||
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.1.tgz",
|
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.2.tgz",
|
||||||
"integrity": "sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==",
|
"integrity": "sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
|
@ -6144,9 +6146,9 @@
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"caniuse-lite": "^1.0.30001541",
|
"caniuse-lite": "^1.0.30001565",
|
||||||
"electron-to-chromium": "^1.4.535",
|
"electron-to-chromium": "^1.4.601",
|
||||||
"node-releases": "^2.0.13",
|
"node-releases": "^2.0.14",
|
||||||
"update-browserslist-db": "^1.0.13"
|
"update-browserslist-db": "^1.0.13"
|
||||||
},
|
},
|
||||||
"bin": {
|
"bin": {
|
||||||
|
@ -6343,9 +6345,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/caniuse-lite": {
|
"node_modules/caniuse-lite": {
|
||||||
"version": "1.0.30001565",
|
"version": "1.0.30001568",
|
||||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001565.tgz",
|
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001568.tgz",
|
||||||
"integrity": "sha512-xrE//a3O7TP0vaJ8ikzkD2c2NgcVUvsEe2IvFTntV4Yd1Z9FVzh+gW+enX96L0psrbaFMcVcH2l90xNuGDWc8w==",
|
"integrity": "sha512-vSUkH84HontZJ88MiNrOau1EBrCqEQYgkC5gIySiDlpsm8sGVrhU7Kx4V6h0tnqaHzIHZv08HlJIwPbL4XL9+A==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
|
@ -6454,9 +6456,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/chart.js": {
|
"node_modules/chart.js": {
|
||||||
"version": "4.4.0",
|
"version": "4.4.1",
|
||||||
"resolved": "https://registry.npmjs.org/chart.js/-/chart.js-4.4.0.tgz",
|
"resolved": "https://registry.npmjs.org/chart.js/-/chart.js-4.4.1.tgz",
|
||||||
"integrity": "sha512-vQEj6d+z0dcsKLlQvbKIMYFHd3t8W/7L2vfJIbYcfyPcRx92CsHqECpueN8qVGNlKyDcr5wBrYAYKnfu/9Q1hQ==",
|
"integrity": "sha512-C74QN1bxwV1v2PEujhmKjOZ7iUM4w6BWs23Md/6aOZZSlwMzeCIDGuZay++rBgChYru7/+QFeoQW0fQoP534Dg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@kurkle/color": "^0.3.0"
|
"@kurkle/color": "^0.3.0"
|
||||||
|
@ -6959,12 +6961,12 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/core-js-compat": {
|
"node_modules/core-js-compat": {
|
||||||
"version": "3.33.3",
|
"version": "3.34.0",
|
||||||
"resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.33.3.tgz",
|
"resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.34.0.tgz",
|
||||||
"integrity": "sha512-cNzGqFsh3Ot+529GIXacjTJ7kegdt5fPXxCBVS1G0iaZpuo/tBz399ymceLJveQhFFZ8qThHiP3fzuoQjKN2ow==",
|
"integrity": "sha512-4ZIyeNbW/Cn1wkMMDy+mvrRUxrwFNjKwbhCfQpDd+eLgYipDqp8oGFGtLmhh18EDPKA0g3VUBYOxQGGwvWLVpA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"browserslist": "^4.22.1"
|
"browserslist": "^4.22.2"
|
||||||
},
|
},
|
||||||
"funding": {
|
"funding": {
|
||||||
"type": "opencollective",
|
"type": "opencollective",
|
||||||
|
@ -8194,9 +8196,9 @@
|
||||||
"integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow=="
|
"integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow=="
|
||||||
},
|
},
|
||||||
"node_modules/electron-to-chromium": {
|
"node_modules/electron-to-chromium": {
|
||||||
"version": "1.4.600",
|
"version": "1.4.609",
|
||||||
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.600.tgz",
|
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.609.tgz",
|
||||||
"integrity": "sha512-KD6CWjf1BnQG+NsXuyiTDDT1eV13sKuYsOUioXkQweYTQIbgHkXPry9K7M+7cKtYHnSUPitVaLrXYB1jTkkYrw==",
|
"integrity": "sha512-ihiCP7PJmjoGNuLpl7TjNA8pCQWu09vGyjlPYw1Rqww4gvNuCcmvl+44G+2QyJ6S2K4o+wbTS++Xz0YN8Q9ERw==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/emittery": {
|
"node_modules/emittery": {
|
||||||
|
@ -8345,15 +8347,15 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/eslint": {
|
"node_modules/eslint": {
|
||||||
"version": "8.54.0",
|
"version": "8.55.0",
|
||||||
"resolved": "https://registry.npmjs.org/eslint/-/eslint-8.54.0.tgz",
|
"resolved": "https://registry.npmjs.org/eslint/-/eslint-8.55.0.tgz",
|
||||||
"integrity": "sha512-NY0DfAkM8BIZDVl6PgSa1ttZbx3xHgJzSNJKYcQglem6CppHyMhRIQkBVSSMaSRnLhig3jsDbEzOjwCVt4AmmA==",
|
"integrity": "sha512-iyUUAM0PCKj5QpwGfmCAG9XXbZCWsqP/eWAWrG/W0umvjuLRBECwSFdt+rCntju0xEH7teIABPwXpahftIaTdA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@eslint-community/eslint-utils": "^4.2.0",
|
"@eslint-community/eslint-utils": "^4.2.0",
|
||||||
"@eslint-community/regexpp": "^4.6.1",
|
"@eslint-community/regexpp": "^4.6.1",
|
||||||
"@eslint/eslintrc": "^2.1.3",
|
"@eslint/eslintrc": "^2.1.4",
|
||||||
"@eslint/js": "8.54.0",
|
"@eslint/js": "8.55.0",
|
||||||
"@humanwhocodes/config-array": "^0.11.13",
|
"@humanwhocodes/config-array": "^0.11.13",
|
||||||
"@humanwhocodes/module-importer": "^1.0.1",
|
"@humanwhocodes/module-importer": "^1.0.1",
|
||||||
"@nodelib/fs.walk": "^1.2.8",
|
"@nodelib/fs.walk": "^1.2.8",
|
||||||
|
@ -8400,9 +8402,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/eslint-config-prettier": {
|
"node_modules/eslint-config-prettier": {
|
||||||
"version": "9.0.0",
|
"version": "9.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz",
|
||||||
"integrity": "sha512-IcJsTkJae2S35pRsRAwoCE+925rJJStOdkKnLVgtE+tEpqU0EVVM7OqrwxqgptKdX29NUwC82I5pXsGFIgSevw==",
|
"integrity": "sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"bin": {
|
"bin": {
|
||||||
"eslint-config-prettier": "bin/cli.js"
|
"eslint-config-prettier": "bin/cli.js"
|
||||||
|
@ -8540,9 +8542,9 @@
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/eslint/node_modules/globals": {
|
"node_modules/eslint/node_modules/globals": {
|
||||||
"version": "13.23.0",
|
"version": "13.24.0",
|
||||||
"resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz",
|
"resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz",
|
||||||
"integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==",
|
"integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"type-fest": "^0.20.2"
|
"type-fest": "^0.20.2"
|
||||||
|
@ -11381,9 +11383,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/knex-dynamic-connection/node_modules/knex": {
|
"node_modules/knex-dynamic-connection/node_modules/knex": {
|
||||||
"version": "3.0.1",
|
"version": "3.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/knex/-/knex-3.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/knex/-/knex-3.1.0.tgz",
|
||||||
"integrity": "sha512-ruASxC6xPyDklRdrcDy6a9iqK+R9cGK214aiQa+D9gX2ZnHZKv6o6JC9ZfgxILxVAul4bZ13c3tgOAHSuQ7/9g==",
|
"integrity": "sha512-GLoII6hR0c4ti243gMs5/1Rb3B+AjwMOfjYm97pu0FOQa7JH56hgBxYf5WK2525ceSbBY1cjeZ9yk99GPMB6Kw==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"colorette": "2.0.19",
|
"colorette": "2.0.19",
|
||||||
"commander": "^10.0.0",
|
"commander": "^10.0.0",
|
||||||
|
@ -11394,7 +11396,7 @@
|
||||||
"getopts": "2.3.0",
|
"getopts": "2.3.0",
|
||||||
"interpret": "^2.2.0",
|
"interpret": "^2.2.0",
|
||||||
"lodash": "^4.17.21",
|
"lodash": "^4.17.21",
|
||||||
"pg-connection-string": "2.6.1",
|
"pg-connection-string": "2.6.2",
|
||||||
"rechoir": "^0.8.0",
|
"rechoir": "^0.8.0",
|
||||||
"resolve-from": "^5.0.0",
|
"resolve-from": "^5.0.0",
|
||||||
"tarn": "^3.0.2",
|
"tarn": "^3.0.2",
|
||||||
|
@ -11430,6 +11432,11 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/knex-dynamic-connection/node_modules/pg-connection-string": {
|
||||||
|
"version": "2.6.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.6.2.tgz",
|
||||||
|
"integrity": "sha512-ch6OwaeaPYcova4kKZ15sbJ2hKb/VP48ZD2gE7i1J+L4MspCtBMAx8nMgz7bksc7IojCIIWuEhHibSMFH8m8oA=="
|
||||||
|
},
|
||||||
"node_modules/launch-editor": {
|
"node_modules/launch-editor": {
|
||||||
"version": "2.6.1",
|
"version": "2.6.1",
|
||||||
"resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.6.1.tgz",
|
"resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.6.1.tgz",
|
||||||
|
@ -13389,9 +13396,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/postcss": {
|
"node_modules/postcss": {
|
||||||
"version": "8.4.31",
|
"version": "8.4.32",
|
||||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz",
|
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.32.tgz",
|
||||||
"integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==",
|
"integrity": "sha512-D/kj5JNu6oo2EIy+XL/26JEDTlIbB8hw85G8StOE6L74RQAVVP5rej6wxCNqyMbR4RkPfqvezVbPw81Ngd6Kcw==",
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
"type": "opencollective",
|
"type": "opencollective",
|
||||||
|
@ -13407,7 +13414,7 @@
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"nanoid": "^3.3.6",
|
"nanoid": "^3.3.7",
|
||||||
"picocolors": "^1.0.0",
|
"picocolors": "^1.0.0",
|
||||||
"source-map-js": "^1.0.2"
|
"source-map-js": "^1.0.2"
|
||||||
},
|
},
|
||||||
|
@ -14066,9 +14073,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/prettier": {
|
"node_modules/prettier": {
|
||||||
"version": "3.1.0",
|
"version": "3.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/prettier/-/prettier-3.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/prettier/-/prettier-3.1.1.tgz",
|
||||||
"integrity": "sha512-TQLvXjq5IAibjh8EpBIkNKxO749UEWABoiIZehEPiY4GNpVdhaFKqSTu+QrlU6D2dPAfubRmtJTi4K4YkQ5eXw==",
|
"integrity": "sha512-22UbSzg8luF4UuZtzgiUOfcGM8s4tjBv6dJRT7j275NXsy2jb4aJa4NNveul5x4eqlF1wuhuR2RElK71RvmVaw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"bin": {
|
"bin": {
|
||||||
"prettier": "bin/prettier.cjs"
|
"prettier": "bin/prettier.cjs"
|
||||||
|
@ -14454,9 +14461,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/reflect-metadata": {
|
"node_modules/reflect-metadata": {
|
||||||
"version": "0.1.13",
|
"version": "0.1.14",
|
||||||
"resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz",
|
"resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.14.tgz",
|
||||||
"integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg=="
|
"integrity": "sha512-ZhYeb6nRaXCfhnndflDK8qI6ZQ/YcWZCISRAWICW9XYqMUwjZM9Z0DveWX/ABN01oxSHwVxKQmxeYZSsm0jh5A=="
|
||||||
},
|
},
|
||||||
"node_modules/regenerate": {
|
"node_modules/regenerate": {
|
||||||
"version": "1.4.2",
|
"version": "1.4.2",
|
||||||
|
@ -14882,9 +14889,9 @@
|
||||||
"integrity": "sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw=="
|
"integrity": "sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw=="
|
||||||
},
|
},
|
||||||
"node_modules/seemly": {
|
"node_modules/seemly": {
|
||||||
"version": "0.3.6",
|
"version": "0.3.7",
|
||||||
"resolved": "https://registry.npmjs.org/seemly/-/seemly-0.3.6.tgz",
|
"resolved": "https://registry.npmjs.org/seemly/-/seemly-0.3.7.tgz",
|
||||||
"integrity": "sha512-lEV5VB8BUKTo/AfktXJcy+JeXns26ylbMkIUco8CYREsQijuz4mrXres2Q+vMLdwkuLxJdIPQ8IlCIxLYm71Yw==",
|
"integrity": "sha512-3KtXoeQzmcjtOZqkOs82+AsdhKybu14x4VeTy0iCRvVKHinMSsv63aGidDJpAqWoLSLJUM220Wi8gPfRLKZoTg==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/select-hose": {
|
"node_modules/select-hose": {
|
||||||
|
@ -15930,9 +15937,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/svgo": {
|
"node_modules/svgo": {
|
||||||
"version": "3.0.5",
|
"version": "3.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/svgo/-/svgo-3.0.5.tgz",
|
"resolved": "https://registry.npmjs.org/svgo/-/svgo-3.1.0.tgz",
|
||||||
"integrity": "sha512-HQKHEo73pMNOlDlBcLgZRcHW2+1wo7bFYayAXkGN0l/2+h68KjlfZyMRhdhaGvoHV2eApOovl12zoFz42sT6rQ==",
|
"integrity": "sha512-R5SnNA89w1dYgNv570591F66v34b3eQShpIBcQtZtM5trJwm1VvxbIoMpRYY3ybTAutcKTLEmTsdnaknOHbiQA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@trysound/sax": "0.2.0",
|
"@trysound/sax": "0.2.0",
|
||||||
|
@ -16095,13 +16102,13 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/synckit": {
|
"node_modules/synckit": {
|
||||||
"version": "0.8.5",
|
"version": "0.8.6",
|
||||||
"resolved": "https://registry.npmjs.org/synckit/-/synckit-0.8.5.tgz",
|
"resolved": "https://registry.npmjs.org/synckit/-/synckit-0.8.6.tgz",
|
||||||
"integrity": "sha512-L1dapNV6vu2s/4Sputv8xGsCdAVlb5nRDMFU/E27D44l5U6cw1g0dGd45uLc+OXjNMmF4ntiMdCimzcjFKQI8Q==",
|
"integrity": "sha512-laHF2savN6sMeHCjLRkheIU4wo3Zg9Ln5YOjOo7sZ5dVQW8yF5pPE5SIw1dsPhq3TRp1jisKRCdPhfs/1WMqDA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@pkgr/utils": "^2.3.1",
|
"@pkgr/utils": "^2.4.2",
|
||||||
"tslib": "^2.5.0"
|
"tslib": "^2.6.2"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^14.18.0 || >=16.0.0"
|
"node": "^14.18.0 || >=16.0.0"
|
||||||
|
@ -16111,9 +16118,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/tailwindcss": {
|
"node_modules/tailwindcss": {
|
||||||
"version": "3.3.5",
|
"version": "3.3.6",
|
||||||
"resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.3.5.tgz",
|
"resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.3.6.tgz",
|
||||||
"integrity": "sha512-5SEZU4J7pxZgSkv7FP1zY8i2TIAOooNZ1e/OGtxIEv6GltpoiXUqWvLy89+a10qYTB1N5Ifkuw9lqQkN9sscvA==",
|
"integrity": "sha512-AKjF7qbbLvLaPieoKeTjG1+FyNZT6KaJMJPFeQyLfIp7l82ggH1fbHJSsYIvnbTFQOlkh+gBYpyby5GT1LIdLw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@alloc/quick-lru": "^5.2.0",
|
"@alloc/quick-lru": "^5.2.0",
|
||||||
|
@ -16176,9 +16183,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/terser": {
|
"node_modules/terser": {
|
||||||
"version": "5.24.0",
|
"version": "5.26.0",
|
||||||
"resolved": "https://registry.npmjs.org/terser/-/terser-5.24.0.tgz",
|
"resolved": "https://registry.npmjs.org/terser/-/terser-5.26.0.tgz",
|
||||||
"integrity": "sha512-ZpGR4Hy3+wBEzVEnHvstMvqpD/nABNelQn/z2r0fjVWGQsN3bpOLzQlqDxmb4CDZnXq5lpjnQ+mHQLAOpfM5iw==",
|
"integrity": "sha512-dytTGoE2oHgbNV9nTzgBEPaqAWvcJNl66VZ0BkJqlvp71IjO8CxdBx/ykCNb47cLnCmCvRZ6ZR0tLkqvZCdVBQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@jridgewell/source-map": "^0.3.3",
|
"@jridgewell/source-map": "^0.3.3",
|
||||||
|
@ -16650,9 +16657,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/typescript": {
|
"node_modules/typescript": {
|
||||||
"version": "5.3.2",
|
"version": "5.3.3",
|
||||||
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.2.tgz",
|
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz",
|
||||||
"integrity": "sha512-6l+RyNy7oAHDfxC4FzSJcz9vnjTKxrLpDG5M2Vu4SHRVNg6xzqZp6LYSR9zjqQTu8DU/f5xwxUdADOkbrIX2gQ==",
|
"integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==",
|
||||||
"devOptional": true,
|
"devOptional": true,
|
||||||
"bin": {
|
"bin": {
|
||||||
"tsc": "bin/tsc",
|
"tsc": "bin/tsc",
|
||||||
|
@ -16971,15 +16978,15 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/vue": {
|
"node_modules/vue": {
|
||||||
"version": "3.3.9",
|
"version": "3.3.11",
|
||||||
"resolved": "https://registry.npmjs.org/vue/-/vue-3.3.9.tgz",
|
"resolved": "https://registry.npmjs.org/vue/-/vue-3.3.11.tgz",
|
||||||
"integrity": "sha512-sy5sLCTR8m6tvUk1/ijri3Yqzgpdsmxgj6n6yl7GXXCXqVbmW2RCXe9atE4cEI6Iv7L89v5f35fZRRr5dChP9w==",
|
"integrity": "sha512-d4oBctG92CRO1cQfVBZp6WJAs0n8AK4Xf5fNjQCBeKCvMI1efGQ5E3Alt1slFJS9fZuPcFoiAiqFvQlv1X7t/w==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@vue/compiler-dom": "3.3.9",
|
"@vue/compiler-dom": "3.3.11",
|
||||||
"@vue/compiler-sfc": "3.3.9",
|
"@vue/compiler-sfc": "3.3.11",
|
||||||
"@vue/runtime-dom": "3.3.9",
|
"@vue/runtime-dom": "3.3.11",
|
||||||
"@vue/server-renderer": "3.3.9",
|
"@vue/server-renderer": "3.3.11",
|
||||||
"@vue/shared": "3.3.9"
|
"@vue/shared": "3.3.11"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"typescript": "*"
|
"typescript": "*"
|
||||||
|
@ -17545,9 +17552,9 @@
|
||||||
"integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
|
"integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
|
||||||
},
|
},
|
||||||
"node_modules/ws": {
|
"node_modules/ws": {
|
||||||
"version": "8.14.2",
|
"version": "8.15.0",
|
||||||
"resolved": "https://registry.npmjs.org/ws/-/ws-8.14.2.tgz",
|
"resolved": "https://registry.npmjs.org/ws/-/ws-8.15.0.tgz",
|
||||||
"integrity": "sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==",
|
"integrity": "sha512-H/Z3H55mrcrgjFwI+5jKavgXvwQLtfPCUEp6pi35VhoB0pfcHnSoyuTzkBEZpzq49g1193CUEwIvmsjcotenYw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=10.0.0"
|
"node": ">=10.0.0"
|
||||||
|
|
|
@ -1,24 +1,24 @@
|
||||||
{
|
{
|
||||||
"assets/app.css": "http://localhost:8080/assets/app.css",
|
"assets/app.css": "http://localhost:8080/assets/app.css",
|
||||||
"assets/app.js": "http://localhost:8080/assets/app.js",
|
"assets/app.js": "http://localhost:8080/assets/app.js",
|
||||||
"assets/fonts/inter-latin-ext-400-normal.woff": "http://localhost:8080/assets/fonts/inter-latin-ext-400-normal.3ccf1334.woff",
|
"assets/fonts/inter-latin-ext-400-normal.woff": "http://localhost:8080/assets/fonts/inter-latin-ext-400-normal.40b3b0d5.woff",
|
||||||
"assets/fonts/inter-latin-400-normal.woff": "http://localhost:8080/assets/fonts/inter-latin-400-normal.662f2907.woff",
|
"assets/fonts/inter-latin-ext-400-normal.woff2": "http://localhost:8080/assets/fonts/inter-latin-ext-400-normal.0f9e8d4e.woff2",
|
||||||
"assets/fonts/inter-latin-ext-400-normal.woff2": "http://localhost:8080/assets/fonts/inter-latin-ext-400-normal.3a7a7652.woff2",
|
"assets/fonts/inter-latin-400-normal.woff": "http://localhost:8080/assets/fonts/inter-latin-400-normal.08a02fd2.woff",
|
||||||
|
"assets/fonts/inter-latin-400-normal.woff2": "http://localhost:8080/assets/fonts/inter-latin-400-normal.f1535355.woff2",
|
||||||
"assets/fonts/archivo-black-latin-400-normal.woff2": "http://localhost:8080/assets/fonts/archivo-black-latin-400-normal.fc847a1f.woff2",
|
"assets/fonts/archivo-black-latin-400-normal.woff2": "http://localhost:8080/assets/fonts/archivo-black-latin-400-normal.fc847a1f.woff2",
|
||||||
"assets/fonts/inter-latin-400-normal.woff2": "http://localhost:8080/assets/fonts/inter-latin-400-normal.be7cb18d.woff2",
|
|
||||||
"assets/fonts/archivo-black-latin-ext-400-normal.woff2": "http://localhost:8080/assets/fonts/archivo-black-latin-ext-400-normal.21761451.woff2",
|
"assets/fonts/archivo-black-latin-ext-400-normal.woff2": "http://localhost:8080/assets/fonts/archivo-black-latin-ext-400-normal.21761451.woff2",
|
||||||
"assets/fonts/inter-cyrillic-ext-400-normal.woff": "http://localhost:8080/assets/fonts/inter-cyrillic-ext-400-normal.3c63e274.woff",
|
"assets/fonts/inter-cyrillic-ext-400-normal.woff": "http://localhost:8080/assets/fonts/inter-cyrillic-ext-400-normal.cd2ad378.woff",
|
||||||
"assets/fonts/archivo-black-latin-400-normal.woff": "http://localhost:8080/assets/fonts/archivo-black-latin-400-normal.583e4fc9.woff",
|
"assets/fonts/archivo-black-latin-400-normal.woff": "http://localhost:8080/assets/fonts/archivo-black-latin-400-normal.58a301a6.woff",
|
||||||
"assets/fonts/inter-greek-400-normal.woff": "http://localhost:8080/assets/fonts/inter-greek-400-normal.b31b8612.woff",
|
"assets/fonts/inter-greek-400-normal.woff": "http://localhost:8080/assets/fonts/inter-greek-400-normal.1eeaf1d0.woff",
|
||||||
"assets/fonts/inter-cyrillic-ext-400-normal.woff2": "http://localhost:8080/assets/fonts/inter-cyrillic-ext-400-normal.fcc125c4.woff2",
|
"assets/fonts/inter-cyrillic-ext-400-normal.woff2": "http://localhost:8080/assets/fonts/inter-cyrillic-ext-400-normal.ac62c8eb.woff2",
|
||||||
"assets/fonts/archivo-black-latin-ext-400-normal.woff": "http://localhost:8080/assets/fonts/archivo-black-latin-ext-400-normal.ce39b04f.woff",
|
"assets/fonts/inter-cyrillic-400-normal.woff": "http://localhost:8080/assets/fonts/inter-cyrillic-400-normal.fa67b2dd.woff",
|
||||||
"assets/fonts/inter-cyrillic-400-normal.woff": "http://localhost:8080/assets/fonts/inter-cyrillic-400-normal.3862a5ab.woff",
|
"assets/fonts/archivo-black-latin-ext-400-normal.woff": "http://localhost:8080/assets/fonts/archivo-black-latin-ext-400-normal.5ab5ba92.woff",
|
||||||
"assets/fonts/inter-greek-400-normal.woff2": "http://localhost:8080/assets/fonts/inter-greek-400-normal.0278a49f.woff2",
|
"assets/fonts/inter-greek-400-normal.woff2": "http://localhost:8080/assets/fonts/inter-greek-400-normal.be0e76b3.woff2",
|
||||||
"assets/fonts/inter-greek-ext-400-normal.woff": "http://localhost:8080/assets/fonts/inter-greek-ext-400-normal.61350b97.woff",
|
"assets/fonts/inter-greek-ext-400-normal.woff": "http://localhost:8080/assets/fonts/inter-greek-ext-400-normal.708f2f74.woff",
|
||||||
"assets/fonts/inter-cyrillic-400-normal.woff2": "http://localhost:8080/assets/fonts/inter-cyrillic-400-normal.8684fef6.woff2",
|
"assets/fonts/inter-cyrillic-400-normal.woff2": "http://localhost:8080/assets/fonts/inter-cyrillic-400-normal.fa78d8d6.woff2",
|
||||||
"assets/fonts/inter-vietnamese-400-normal.woff": "http://localhost:8080/assets/fonts/inter-vietnamese-400-normal.e0aaa99d.woff",
|
"assets/fonts/inter-vietnamese-400-normal.woff": "http://localhost:8080/assets/fonts/inter-vietnamese-400-normal.6eab7f5e.woff",
|
||||||
"assets/fonts/inter-greek-ext-400-normal.woff2": "http://localhost:8080/assets/fonts/inter-greek-ext-400-normal.3f642a92.woff2",
|
"assets/fonts/inter-greek-ext-400-normal.woff2": "http://localhost:8080/assets/fonts/inter-greek-ext-400-normal.1e2b9039.woff2",
|
||||||
"assets/fonts/inter-vietnamese-400-normal.woff2": "http://localhost:8080/assets/fonts/inter-vietnamese-400-normal.789afb71.woff2",
|
"assets/fonts/inter-vietnamese-400-normal.woff2": "http://localhost:8080/assets/fonts/inter-vietnamese-400-normal.5952d3d3.woff2",
|
||||||
"assets/images/marker-icon.png": "http://localhost:8080/assets/images/marker-icon.2b3e1faf.png",
|
"assets/images/marker-icon.png": "http://localhost:8080/assets/images/marker-icon.2b3e1faf.png",
|
||||||
"assets/images/layers-2x.png": "http://localhost:8080/assets/images/layers-2x.8f2c4d11.png",
|
"assets/images/layers-2x.png": "http://localhost:8080/assets/images/layers-2x.8f2c4d11.png",
|
||||||
"assets/images/layers.png": "http://localhost:8080/assets/images/layers.416d9136.png"
|
"assets/images/layers.png": "http://localhost:8080/assets/images/layers.416d9136.png"
|
||||||
|
|
|
@ -3,5 +3,5 @@ import FormControl from '@/Components/FormControl.vue';
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<FormControl ref="root" placeholder="Search (ctrl+k)" ctrl-k-focus transparent borderless />
|
<FormControl id="searchInput" ref="root" placeholder="Search (ctrl+k)" ctrl-k-focus transparent borderless />
|
||||||
</template>
|
</template>
|
||||||
|
|
|
@ -44,6 +44,7 @@ export interface Dataset {
|
||||||
authors: Array<Person>;
|
authors: Array<Person>;
|
||||||
contributors: Array<Person>;
|
contributors: Array<Person>;
|
||||||
project_id?: number;
|
project_id?: number;
|
||||||
|
reviewer_id?: number;
|
||||||
embargo_date?: string;
|
embargo_date?: string;
|
||||||
coverage: Coverage;
|
coverage: Coverage;
|
||||||
errors?: IErrorMessage;
|
errors?: IErrorMessage;
|
||||||
|
|
|
@ -4,9 +4,9 @@ import { useForm } from '@inertiajs/vue3';
|
||||||
// import { reactive } from 'vue';
|
// import { reactive } from 'vue';
|
||||||
import {
|
import {
|
||||||
mdiAccount,
|
mdiAccount,
|
||||||
mdiAccountCircle,
|
// mdiAccountCircle,
|
||||||
mdiLock,
|
mdiLock,
|
||||||
mdiMail,
|
// mdiMail,
|
||||||
mdiAsterisk,
|
mdiAsterisk,
|
||||||
mdiFormTextboxPassword,
|
mdiFormTextboxPassword,
|
||||||
mdiArrowLeftBoldOutline,
|
mdiArrowLeftBoldOutline,
|
||||||
|
@ -24,8 +24,12 @@ import LayoutAuthenticated from '@/Layouts/LayoutAuthenticated.vue';
|
||||||
import SectionTitleLineWithButton from '@/Components/SectionTitleLineWithButton.vue';
|
import SectionTitleLineWithButton from '@/Components/SectionTitleLineWithButton.vue';
|
||||||
import { stardust } from '@eidellev/adonis-stardust/client';
|
import { stardust } from '@eidellev/adonis-stardust/client';
|
||||||
// import { Inertia } from '@inertiajs/inertia';
|
// import { Inertia } from '@inertiajs/inertia';
|
||||||
|
import { computed, Ref } from 'vue';
|
||||||
|
import { usePage } from '@inertiajs/vue3';
|
||||||
|
import FormValidationErrors from '@/Components/FormValidationErrors.vue';
|
||||||
|
|
||||||
const props = defineProps({
|
|
||||||
|
defineProps({
|
||||||
// user will be returned from controller action
|
// user will be returned from controller action
|
||||||
user: {
|
user: {
|
||||||
type: Object,
|
type: Object,
|
||||||
|
@ -37,13 +41,13 @@ const props = defineProps({
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
const profileForm = useForm({
|
// const profileForm = useForm({
|
||||||
login: props.user.login,
|
// login: props.user.login,
|
||||||
email: props.user.email,
|
// email: props.user.email,
|
||||||
});
|
// });
|
||||||
const profileSubmit = async () => {
|
// const profileSubmit = async () => {
|
||||||
await profileForm.post(stardust.route('admin.account.info.store', [props.user.id]));
|
// await profileForm.post(stardust.route('admin.account.info.store', [props.user.id]));
|
||||||
};
|
// };
|
||||||
|
|
||||||
const passwordForm = useForm({
|
const passwordForm = useForm({
|
||||||
old_password: '',
|
old_password: '',
|
||||||
|
@ -51,38 +55,38 @@ const passwordForm = useForm({
|
||||||
confirm_password: '',
|
confirm_password: '',
|
||||||
});
|
});
|
||||||
const passwordSubmit = async () => {
|
const passwordSubmit = async () => {
|
||||||
await passwordForm.post(stardust.route('admin.account.info.store'), {
|
await passwordForm.post(stardust.route('account.info.store'), {
|
||||||
preserveScroll: true,
|
preserveScroll: true,
|
||||||
onSuccess: (resp) => {
|
onSuccess: () => {
|
||||||
console.log(resp);
|
// console.log(resp);
|
||||||
passwordForm.reset();
|
passwordForm.reset();
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const flash: Ref<any> = computed(() => {
|
||||||
|
return usePage().props.flash;
|
||||||
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<LayoutAuthenticated>
|
<LayoutAuthenticated>
|
||||||
<SectionMain>
|
<SectionMain>
|
||||||
<SectionTitleLineWithButton :icon="mdiAccount" title="Profile" main>
|
<SectionTitleLineWithButton :icon="mdiAccount" title="Profile" main>
|
||||||
<BaseButton
|
<BaseButton :route-name="stardust.route('dashboard')" :icon="mdiArrowLeftBoldOutline" label="Back"
|
||||||
:route-name="stardust.route('dashboard')"
|
color="white" rounded-full small />
|
||||||
:icon="mdiArrowLeftBoldOutline"
|
|
||||||
label="Back"
|
|
||||||
color="white"
|
|
||||||
rounded-full
|
|
||||||
small
|
|
||||||
/>
|
|
||||||
</SectionTitleLineWithButton>
|
</SectionTitleLineWithButton>
|
||||||
|
|
||||||
<!-- <NotificationBar v-if="$page.props.flash.message" color="success" :icon="mdiAlertBoxOutline">
|
<!-- <NotificationBar v-if="$page.props.flash.message" color="success" :icon="mdiAlertBoxOutline">
|
||||||
{{ $page.props.flash.message }}
|
{{ $page.props.flash.message }}
|
||||||
</NotificationBar> -->
|
</NotificationBar> -->
|
||||||
|
|
||||||
<div class="grid grid-cols-1 lg:grid-cols-2 gap-6">
|
<!-- <div class="grid grid-cols-1 lg:grid-cols-2 gap-6"> -->
|
||||||
|
<div class="grid grid-cols-1 lg:grid-cols-1 gap-6">
|
||||||
|
|
||||||
<!-- password form -->
|
<!-- password form -->
|
||||||
<!-- <CardBox title="Edit Profile" :icon="mdiAccountCircle" form @submit.prevent="profileForm.post(route('admin.account.info.store'))"> -->
|
<!-- <CardBox title="Edit Profile" :icon="mdiAccountCircle" form @submit.prevent="profileForm.post(route('admin.account.info.store'))"> -->
|
||||||
<CardBox title="Edit Profile" :icon="mdiAccountCircle" form @submit.prevent="profileSubmit()">
|
<!-- <CardBox title="Edit Profile" :icon="mdiAccountCircle" form @submit.prevent="profileSubmit()">
|
||||||
<FormField label="Login" help="Required. Your login name" :class="{ 'text-red-400': errors.login }">
|
<FormField label="Login" help="Required. Your login name" :class="{ 'text-red-400': errors.login }">
|
||||||
<FormControl v-model="profileForm.login" v-bind:icon="mdiAccount" name="login" required :error="errors.login">
|
<FormControl v-model="profileForm.login" v-bind:icon="mdiAccount" name="login" required :error="errors.login">
|
||||||
<div class="text-red-400 text-sm" v-if="errors.login">
|
<div class="text-red-400 text-sm" v-if="errors.login">
|
||||||
|
@ -103,77 +107,59 @@ const passwordSubmit = async () => {
|
||||||
<BaseButton color="info" type="submit" label="Submit" />
|
<BaseButton color="info" type="submit" label="Submit" />
|
||||||
</BaseButtons>
|
</BaseButtons>
|
||||||
</template>
|
</template>
|
||||||
</CardBox>
|
</CardBox> -->
|
||||||
|
|
||||||
<!-- password form -->
|
<!-- password form -->
|
||||||
<!-- <CardBox title="Change Password" :icon="mdiLock" form @submit.prevent="passwordForm.post(route('admin.account.password.store'), {
|
<!-- <CardBox title="Change Password" :icon="mdiLock" form @submit.prevent="passwordForm.post(route('admin.account.password.store'), {
|
||||||
preserveScroll: true,
|
preserveScroll: true,
|
||||||
onSuccess: () => passwordForm.reset(),
|
onSuccess: () => passwordForm.reset(),
|
||||||
})
|
}) "> -->
|
||||||
"> -->
|
<CardBox id="passwordForm" title="Change Password" :icon="mdiLock" form @submit.prevent="passwordSubmit()">
|
||||||
<CardBox title="Change Password" :icon="mdiLock" form @submit.prevent="passwordSubmit()">
|
<FormValidationErrors v-bind:errors="errors" />
|
||||||
<FormField
|
|
||||||
label="Current password"
|
<FormField label="Current password" help="Required. Your current password"
|
||||||
help="Required. Your current password"
|
:class="{ 'text-red-400': passwordForm.errors.old_password }">
|
||||||
:class="{ 'text-red-400': passwordForm.errors.old_password }"
|
<FormControl v-model="passwordForm.old_password" :icon="mdiAsterisk" name="old_password"
|
||||||
>
|
type="password" required :error="passwordForm.errors.old_password">
|
||||||
<FormControl
|
|
||||||
v-model="passwordForm.old_password"
|
|
||||||
:icon="mdiAsterisk"
|
|
||||||
name="old_password"
|
|
||||||
type="password"
|
|
||||||
required
|
|
||||||
:error="passwordForm.errors.old_password"
|
|
||||||
>
|
|
||||||
<div class="text-red-400 text-sm" v-if="passwordForm.errors.old_password">
|
<div class="text-red-400 text-sm" v-if="passwordForm.errors.old_password">
|
||||||
{{ passwordForm.errors.old_password }}
|
{{ passwordForm.errors.old_password }}
|
||||||
</div>
|
</div>
|
||||||
</FormControl>
|
</FormControl>
|
||||||
</FormField>
|
</FormField>
|
||||||
|
|
||||||
<BaseDivider />
|
<BaseDivider />
|
||||||
|
|
||||||
<FormField
|
<FormField label="New password" help="Required. New password"
|
||||||
label="New password"
|
:class="{ 'text-red-400': passwordForm.errors.new_password }">
|
||||||
help="Required. New password"
|
<FormControl v-model="passwordForm.new_password" :icon="mdiFormTextboxPassword" name="new_password"
|
||||||
:class="{ 'text-red-400': passwordForm.errors.new_password }"
|
type="password" required :error="passwordForm.errors.new_password">
|
||||||
>
|
|
||||||
<FormControl
|
|
||||||
v-model="passwordForm.new_password"
|
|
||||||
:icon="mdiFormTextboxPassword"
|
|
||||||
name="new_password"
|
|
||||||
type="password"
|
|
||||||
required
|
|
||||||
:error="passwordForm.errors.new_password"
|
|
||||||
>
|
|
||||||
<div class="text-red-400 text-sm" v-if="passwordForm.errors.new_password">
|
<div class="text-red-400 text-sm" v-if="passwordForm.errors.new_password">
|
||||||
{{ passwordForm.errors.new_password }}
|
{{ passwordForm.errors.new_password }}
|
||||||
</div>
|
</div>
|
||||||
</FormControl>
|
</FormControl>
|
||||||
</FormField>
|
</FormField>
|
||||||
|
|
||||||
<FormField
|
<FormField label="Confirm password" help="Required. New password one more time"
|
||||||
label="Confirm password"
|
:class="{ 'text-red-400': passwordForm.errors.confirm_password }">
|
||||||
help="Required. New password one more time"
|
<FormControl v-model="passwordForm.confirm_password" :icon="mdiFormTextboxPassword"
|
||||||
:class="{ 'text-red-400': passwordForm.errors.confirm_password }"
|
name="confirm_password" type="password" required :error="passwordForm.errors.confirm_password">
|
||||||
>
|
|
||||||
<FormControl
|
|
||||||
v-model="passwordForm.confirm_password"
|
|
||||||
:icon="mdiFormTextboxPassword"
|
|
||||||
name="confirm_password"
|
|
||||||
type="password"
|
|
||||||
required
|
|
||||||
:error="passwordForm.errors.confirm_password"
|
|
||||||
>
|
|
||||||
<div class="text-red-400 text-sm" v-if="passwordForm.errors.confirm_password">
|
<div class="text-red-400 text-sm" v-if="passwordForm.errors.confirm_password">
|
||||||
{{ passwordForm.errors.confirm_password }}
|
{{ passwordForm.errors.confirm_password }}
|
||||||
</div>
|
</div>
|
||||||
</FormControl>
|
</FormControl>
|
||||||
</FormField>
|
</FormField>
|
||||||
|
|
||||||
|
|
||||||
|
<div v-if="flash && flash.message" class="flex flex-col mt-6 animate-fade-in">
|
||||||
|
<div class="bg-yellow-500 border-l-4 border-orange-400 text-white p-4" role="alert">
|
||||||
|
<p class="font-bold">Be Warned</p>
|
||||||
|
<p>{{ flash.message }}</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<BaseDivider />
|
||||||
|
|
||||||
<template #footer>
|
<template #footer>
|
||||||
<BaseButtons>
|
<BaseButtons>
|
||||||
<BaseButton type="submit" color="info" label="Submit" />
|
<BaseButton type="submit" color="info" label="Change password" />
|
||||||
</BaseButtons>
|
</BaseButtons>
|
||||||
</template>
|
</template>
|
||||||
</CardBox>
|
</CardBox>
|
||||||
|
|
120
resources/js/Pages/Editor/Dataset/Approve.vue
Normal file
120
resources/js/Pages/Editor/Dataset/Approve.vue
Normal file
|
@ -0,0 +1,120 @@
|
||||||
|
<script setup lang="ts">
|
||||||
|
import LayoutAuthenticated from '@/Layouts/LayoutAuthenticated.vue';
|
||||||
|
import SectionMain from '@/Components/SectionMain.vue';
|
||||||
|
import SectionTitleLineWithButton from '@/Components/SectionTitleLineWithButton.vue';
|
||||||
|
import { Head, usePage, useForm } from '@inertiajs/vue3';
|
||||||
|
import { computed, Ref } from 'vue';
|
||||||
|
import CardBox from '@/Components/CardBox.vue';
|
||||||
|
import BaseButton from '@/Components/BaseButton.vue';
|
||||||
|
import BaseButtons from '@/Components/BaseButtons.vue';
|
||||||
|
import { stardust } from '@eidellev/adonis-stardust/client';
|
||||||
|
import { mdiArrowLeftBoldOutline, mdiShareVariant } from '@mdi/js';
|
||||||
|
import FormValidationErrors from '@/Components/FormValidationErrors.vue';
|
||||||
|
// import { Dataset } from '@/Dataset';
|
||||||
|
import FormField from '@/Components/FormField.vue';
|
||||||
|
import FormControl from '@/Components/FormControl.vue';
|
||||||
|
|
||||||
|
const props = defineProps({
|
||||||
|
errors: {
|
||||||
|
type: Object,
|
||||||
|
default: () => ({}),
|
||||||
|
},
|
||||||
|
dataset: {
|
||||||
|
type: Object,
|
||||||
|
default: () => ({}),
|
||||||
|
},
|
||||||
|
reviewers: {
|
||||||
|
type: Object,
|
||||||
|
default: () => ({}),
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
// const isButtonDisabled = computed(() => {
|
||||||
|
// return form.processing || form.reviewer_id != undefined;
|
||||||
|
// });
|
||||||
|
const isButtonDisabled = computed(() => {
|
||||||
|
return form.processing || form.reviewer_id === undefined;
|
||||||
|
});
|
||||||
|
|
||||||
|
const flash: Ref<any> = computed(() => {
|
||||||
|
return usePage().props.flash;
|
||||||
|
});
|
||||||
|
// const errors: Ref<any> = computed(() => {
|
||||||
|
// return usePage().props.errors;
|
||||||
|
// });
|
||||||
|
|
||||||
|
const form = useForm({
|
||||||
|
reviewer_id: undefined,
|
||||||
|
});
|
||||||
|
// let form = useForm<Dataset>(props.dataset as Dataset);
|
||||||
|
|
||||||
|
|
||||||
|
// const isPreferationRequired = computed(() => form.preferation === 'yes_preferation');
|
||||||
|
|
||||||
|
const handleSubmit = async (e) => {
|
||||||
|
e.preventDefault();
|
||||||
|
|
||||||
|
await form.put(stardust.route('editor.dataset.approveUpdate', [props.dataset.id]));
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<template>
|
||||||
|
<LayoutAuthenticated>
|
||||||
|
|
||||||
|
<Head title="Approve dataset" />
|
||||||
|
<SectionMain>
|
||||||
|
<SectionTitleLineWithButton :icon="mdiShareVariant" title="Approve corrected dataset" main>
|
||||||
|
<BaseButton :route-name="stardust.route('editor.dataset.list')" :icon="mdiArrowLeftBoldOutline" label="Back"
|
||||||
|
color="white" rounded-full small />
|
||||||
|
</SectionTitleLineWithButton>
|
||||||
|
|
||||||
|
<CardBox :form="true" @submit.prevent="handleSubmit" id="approveForm">
|
||||||
|
<FormValidationErrors v-bind:errors="errors" />
|
||||||
|
|
||||||
|
<div class="mb-4">
|
||||||
|
|
||||||
|
<div class="w-full">
|
||||||
|
<div class="block font-bold mb-2" for="owner">Preferred Reviewer:</div>
|
||||||
|
<div id="owner" class="w-full p-2 rounded-md">{{ dataset.preferred_reviewer }}</div>
|
||||||
|
</div>
|
||||||
|
<div class="w-full">
|
||||||
|
<div class="block font-bold mb-2" for="owner2">Preferred Reviewer Email:</div>
|
||||||
|
<div id="owner2" class="w-full p-2 rounded-md">{{ dataset.preferred_reviewer_email }}</div>
|
||||||
|
</div>
|
||||||
|
<FormField label="Reviewer" help="reviewer is required" label-for="selectReviewer"
|
||||||
|
:class="{ 'text-red-400': form.errors.reviewer_id }" class="w-full mx-2 flex-1">
|
||||||
|
<FormControl id="selectReviewer" v-model="form.reviewer_id" :type="'select'" placeholder="-- select reviewer --"
|
||||||
|
:errors="form.errors.reviewer_id" :options="reviewers">
|
||||||
|
<div class="text-red-400 text-sm" v-if="form.errors.reviewer_id">
|
||||||
|
{{ form.errors.reviewer_id }}
|
||||||
|
</div>
|
||||||
|
</FormControl>
|
||||||
|
</FormField>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div v-if="flash && flash.warning" class="flex flex-col mt-6 animate-fade-in">
|
||||||
|
<div class="bg-yellow-500 border-l-4 border-orange-400 text-white p-4" role="alert">
|
||||||
|
<p class="font-bold">Be Warned</p>
|
||||||
|
<p>{{ flash.warning }}</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<template #footer>
|
||||||
|
<BaseButtons>
|
||||||
|
<BaseButton type="submit" color="info" label="Set Approved"
|
||||||
|
:class="{ 'opacity-25': form.processing }"
|
||||||
|
:disabled="isButtonDisabled" :icon="mdiShareVariant"
|
||||||
|
small />
|
||||||
|
|
||||||
|
<!-- <button :disabled="errors.any()" type="submit" class="pure-button">
|
||||||
|
<i class="fa fa-share"></i>
|
||||||
|
<span>Set Approved</span>
|
||||||
|
</button> -->
|
||||||
|
|
||||||
|
</BaseButtons>
|
||||||
|
</template>
|
||||||
|
</CardBox>
|
||||||
|
</SectionMain>
|
||||||
|
</LayoutAuthenticated>
|
||||||
|
</template>
|
|
@ -2,7 +2,7 @@
|
||||||
// import { Head, Link, useForm, usePage } from '@inertiajs/inertia-vue3';
|
// import { Head, Link, useForm, usePage } from '@inertiajs/inertia-vue3';
|
||||||
import { Head, usePage } from '@inertiajs/vue3';
|
import { Head, usePage } from '@inertiajs/vue3';
|
||||||
import { ComputedRef } from 'vue';
|
import { ComputedRef } from 'vue';
|
||||||
import { mdiSquareEditOutline, mdiAlertBoxOutline } from '@mdi/js';
|
import { mdiSquareEditOutline, mdiAlertBoxOutline, mdiShareVariant } from '@mdi/js';
|
||||||
import { computed } from 'vue';
|
import { computed } from 'vue';
|
||||||
import LayoutAuthenticated from '@/Layouts/LayoutAuthenticated.vue';
|
import LayoutAuthenticated from '@/Layouts/LayoutAuthenticated.vue';
|
||||||
import SectionMain from '@/Components/SectionMain.vue';
|
import SectionMain from '@/Components/SectionMain.vue';
|
||||||
|
@ -76,6 +76,7 @@ const getRowClass = (dataset) => {
|
||||||
|
|
||||||
<!-- table -->
|
<!-- table -->
|
||||||
<CardBox class="mb-6" has-table>
|
<CardBox class="mb-6" has-table>
|
||||||
|
<div v-if="props.datasets && props.datasets.length > 0">
|
||||||
<table class="pure-table">
|
<table class="pure-table">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
|
@ -104,8 +105,7 @@ const getRowClass = (dataset) => {
|
||||||
</thead>
|
</thead>
|
||||||
|
|
||||||
<tbody class="bg-white divide-y divide-gray-200">
|
<tbody class="bg-white divide-y divide-gray-200">
|
||||||
<tr v-for="dataset in props.datasets.data" :key="dataset.id"
|
<tr v-for="dataset in props.datasets.data" :key="dataset.id" :class="[getRowClass(dataset)]">
|
||||||
:class="[getRowClass(dataset)]">
|
|
||||||
<td data-label="Login" class="py-4 whitespace-nowrap text-gray-700 dark:text-white">
|
<td data-label="Login" class="py-4 whitespace-nowrap text-gray-700 dark:text-white">
|
||||||
<!-- <Link v-bind:href="stardust.route('user.show', [user.id])"
|
<!-- <Link v-bind:href="stardust.route('user.show', [user.id])"
|
||||||
class="no-underline hover:underline text-cyan-600 dark:text-cyan-400">
|
class="no-underline hover:underline text-cyan-600 dark:text-cyan-400">
|
||||||
|
@ -141,16 +141,31 @@ const getRowClass = (dataset) => {
|
||||||
{{ dataset.server_date_modified }}
|
{{ dataset.server_date_modified }}
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
<td class="py-4 whitespace-nowrap text-right text-sm font-medium text-gray-700 dark:text-white">
|
<td
|
||||||
|
class="py-4 whitespace-nowrap text-right text-sm font-medium text-gray-700 dark:text-white">
|
||||||
<BaseButtons type="justify-start lg:justify-end" no-wrap>
|
<BaseButtons type="justify-start lg:justify-end" no-wrap>
|
||||||
<BaseButton v-if="can.receive && (dataset.server_state == 'released')"
|
<BaseButton v-if="can.receive && (dataset.server_state == 'released')"
|
||||||
:route-name="stardust.route('editor.dataset.receive', [dataset.id])" color="info"
|
:route-name="stardust.route('editor.dataset.receive', [dataset.id])"
|
||||||
:icon="mdiSquareEditOutline" :label="'Receive task'" small />
|
color="info" :icon="mdiSquareEditOutline" :label="'Receive edit task'" small />
|
||||||
|
|
||||||
|
<BaseButton
|
||||||
|
v-if="can.approve && (dataset.server_state == 'editor_accepted' || dataset.server_state == 'rejected_reviewer')"
|
||||||
|
:route-name="stardust.route('editor.dataset.approve', [dataset.id])"
|
||||||
|
color="info" :icon="mdiShareVariant" :label="'Approve'" small />
|
||||||
</BaseButtons>
|
</BaseButtons>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
</div>
|
||||||
|
<div v-else>
|
||||||
|
<!-- Show warning message if datasets are not defined or empty -->
|
||||||
|
<div class="bg-yellow-200 text-yellow-800 rounded-md p-4">
|
||||||
|
<p>No datasets defined.</p>
|
||||||
|
<!-- You can add more descriptive text here -->
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<!-- <BaseButton
|
<!-- <BaseButton
|
||||||
v-if="can.edit && (dataset.server_state == 'editor_accepted' || dataset.server_state == 'rejected_reviewer')"
|
v-if="can.edit && (dataset.server_state == 'editor_accepted' || dataset.server_state == 'rejected_reviewer')"
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
import LayoutAuthenticated from '@/Layouts/LayoutAuthenticated.vue';
|
import LayoutAuthenticated from '@/Layouts/LayoutAuthenticated.vue';
|
||||||
import SectionMain from '@/Components/SectionMain.vue';
|
import SectionMain from '@/Components/SectionMain.vue';
|
||||||
import SectionTitleLineWithButton from '@/Components/SectionTitleLineWithButton.vue';
|
import SectionTitleLineWithButton from '@/Components/SectionTitleLineWithButton.vue';
|
||||||
import { useForm, Head, usePage } from '@inertiajs/vue3';
|
import { router, Head, usePage } from '@inertiajs/vue3';
|
||||||
import { computed, Ref } from 'vue';
|
import { computed, Ref } from 'vue';
|
||||||
import CardBox from '@/Components/CardBox.vue';
|
import CardBox from '@/Components/CardBox.vue';
|
||||||
import BaseButton from '@/Components/BaseButton.vue';
|
import BaseButton from '@/Components/BaseButton.vue';
|
||||||
|
@ -11,7 +11,7 @@ import { stardust } from '@eidellev/adonis-stardust/client';
|
||||||
import { mdiArrowLeftBoldOutline, mdiLockOpen } from '@mdi/js';
|
import { mdiArrowLeftBoldOutline, mdiLockOpen } from '@mdi/js';
|
||||||
import FormValidationErrors from '@/Components/FormValidationErrors.vue';
|
import FormValidationErrors from '@/Components/FormValidationErrors.vue';
|
||||||
|
|
||||||
defineProps({
|
const props = defineProps({
|
||||||
dataset: {
|
dataset: {
|
||||||
type: Object,
|
type: Object,
|
||||||
default: () => ({}),
|
default: () => ({}),
|
||||||
|
@ -25,14 +25,14 @@ const errors: Ref<any> = computed(() => {
|
||||||
return usePage().props.errors;
|
return usePage().props.errors;
|
||||||
});
|
});
|
||||||
|
|
||||||
const form = useForm({
|
// const form = useForm({
|
||||||
preferred_reviewer: '',
|
// preferred_reviewer: '',
|
||||||
preferred_reviewer_email: '',
|
// preferred_reviewer_email: '',
|
||||||
preferation: 'yes_preferation',
|
// preferation: 'yes_preferation',
|
||||||
|
|
||||||
// preferation: '',
|
// // preferation: '',
|
||||||
// isPreferationRequired: false,
|
// // isPreferationRequired: false,
|
||||||
});
|
// });
|
||||||
|
|
||||||
|
|
||||||
// const isPreferationRequired = computed(() => form.preferation === 'yes_preferation');
|
// const isPreferationRequired = computed(() => form.preferation === 'yes_preferation');
|
||||||
|
@ -40,6 +40,7 @@ const form = useForm({
|
||||||
const handleSubmit = async (e) => {
|
const handleSubmit = async (e) => {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
|
|
||||||
|
await router.put(stardust.route('editor.dataset.receiveUpdate', [props.dataset.id]));
|
||||||
// await form.put(stardust.route('dataset.releaseUpdate', [props.dataset.id]));
|
// await form.put(stardust.route('dataset.releaseUpdate', [props.dataset.id]));
|
||||||
// // await form.put(stardust.route('editor.dataset.update', [props.dataset.id]));
|
// // await form.put(stardust.route('editor.dataset.update', [props.dataset.id]));
|
||||||
};
|
};
|
||||||
|
@ -96,7 +97,8 @@ const handleSubmit = async (e) => {
|
||||||
<template #footer>
|
<template #footer>
|
||||||
<BaseButtons>
|
<BaseButtons>
|
||||||
<!-- <BaseButton type="submit" color="info" label="Receive"
|
<!-- <BaseButton type="submit" color="info" label="Receive"
|
||||||
:class="{ 'opacity-25': form.processing }" :disabled="form.processing" /> -->
|
:class="{ 'opacity-25': router.processing }" :disabled="form.processing" /> -->
|
||||||
|
<BaseButton type="submit" color="info" label="Receive"/>
|
||||||
</BaseButtons>
|
</BaseButtons>
|
||||||
</template>
|
</template>
|
||||||
</CardBox>
|
</CardBox>
|
||||||
|
|
|
@ -7,11 +7,31 @@ import {
|
||||||
mdiPublish,
|
mdiPublish,
|
||||||
mdiAccountArrowUp,
|
mdiAccountArrowUp,
|
||||||
mdiFormatListNumbered,
|
mdiFormatListNumbered,
|
||||||
|
mdiLock
|
||||||
} from '@mdi/js';
|
} from '@mdi/js';
|
||||||
|
|
||||||
export default [
|
export default [
|
||||||
{
|
{
|
||||||
route: 'app.dashboard',
|
// route: 'dataset.create',
|
||||||
|
icon: mdiAccountArrowUp,
|
||||||
|
label: 'Personal',
|
||||||
|
// roles: ['submitter'],
|
||||||
|
isOpen: true,
|
||||||
|
children: [
|
||||||
|
{
|
||||||
|
route: 'settings.user',
|
||||||
|
icon: mdiLock,
|
||||||
|
label: 'Security',
|
||||||
|
},
|
||||||
|
// {
|
||||||
|
// route: 'dataset.create',
|
||||||
|
// icon: mdiPublish,
|
||||||
|
// label: 'Create Dataset',
|
||||||
|
// },
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
route: 'apps.dashboard',
|
||||||
icon: mdiMonitor,
|
icon: mdiMonitor,
|
||||||
label: 'Dashboard',
|
label: 'Dashboard',
|
||||||
},
|
},
|
||||||
|
|
|
@ -46,7 +46,7 @@ Route.group(() => {
|
||||||
// }).as('dashboard2');
|
// }).as('dashboard2');
|
||||||
|
|
||||||
Route.get('/', async ({ response }) => {
|
Route.get('/', async ({ response }) => {
|
||||||
return response.redirect().toRoute('app.dashboard');
|
return response.redirect().toRoute('apps.dashboard');
|
||||||
}).as('dashboard');
|
}).as('dashboard');
|
||||||
|
|
||||||
Route.group(() => {
|
Route.group(() => {
|
||||||
|
@ -81,8 +81,8 @@ Route.group(() => {
|
||||||
return response.redirect().toRoute('app.index');
|
return response.redirect().toRoute('app.index');
|
||||||
}).as('register.store');
|
}).as('register.store');
|
||||||
})
|
})
|
||||||
.prefix('app')
|
.prefix('apps')
|
||||||
.as('app')
|
.as('apps')
|
||||||
.middleware('auth');
|
.middleware('auth');
|
||||||
|
|
||||||
Route.get('/map', async ({ inertia }) => {
|
Route.get('/map', async ({ inertia }) => {
|
||||||
|
@ -140,14 +140,13 @@ Route.group(() => {
|
||||||
// .middleware(['auth', 'can:dataset-list,dataset-publish']);
|
// .middleware(['auth', 'can:dataset-list,dataset-publish']);
|
||||||
.middleware(['auth', 'is:administrator,moderator']);
|
.middleware(['auth', 'is:administrator,moderator']);
|
||||||
|
|
||||||
Route.get('/settings/user', 'UsersController.accountInfo')
|
Route.get('/settings/user/security', 'UsersController.accountInfo')
|
||||||
.as('settings.user')
|
.as('settings.user')
|
||||||
.namespace('App/Controllers/Http/Admin')
|
.namespace('App/Controllers/Http/Admin')
|
||||||
.middleware(['auth']);
|
.middleware(['auth']);
|
||||||
|
|
||||||
Route.post('/edit-account-info/store/:id', 'UsersController.accountInfoStore')
|
Route.post('/settings/user/store', 'UsersController.accountInfoStore')
|
||||||
.as('admin.account.info.store')
|
.as('account.info.store')
|
||||||
.where('id', Route.matchers.number())
|
|
||||||
.namespace('App/Controllers/Http/Admin')
|
.namespace('App/Controllers/Http/Admin')
|
||||||
.middleware(['auth']);
|
.middleware(['auth']);
|
||||||
// Route::post('change-password', 'UserController@changePasswordStore')->name('admin.account.password.store');
|
// Route::post('change-password', 'UserController@changePasswordStore')->name('admin.account.password.store');
|
||||||
|
@ -207,6 +206,18 @@ Route.group(() => {
|
||||||
.as('editor.dataset.receive')
|
.as('editor.dataset.receive')
|
||||||
.where('id', Route.matchers.number())
|
.where('id', Route.matchers.number())
|
||||||
.middleware(['auth', 'can:dataset-receive']);
|
.middleware(['auth', 'can:dataset-receive']);
|
||||||
|
Route.put('dataset/:id/receive', 'DatasetController.receiveUpdate')
|
||||||
|
.as('editor.dataset.receiveUpdate')
|
||||||
|
.where('id', Route.matchers.number())
|
||||||
|
.middleware(['auth', 'can:dataset-receive']);
|
||||||
|
Route.get('dataset/:id/approve', 'DatasetController.approve')
|
||||||
|
.as('editor.dataset.approve')
|
||||||
|
.where('id', Route.matchers.number())
|
||||||
|
.middleware(['auth', 'can:dataset-approve']);
|
||||||
|
Route.put('dataset/:id/approve', 'DatasetController.approveUpdate')
|
||||||
|
.as('editor.dataset.approveUpdate')
|
||||||
|
.where('id', Route.matchers.number())
|
||||||
|
.middleware(['auth', 'can:dataset-approve']);
|
||||||
|
|
||||||
Route.put('/dataset/:id/update', 'DatasetController.update')
|
Route.put('/dataset/:id/update', 'DatasetController.update')
|
||||||
.as('editor.dataset.update')
|
.as('editor.dataset.update')
|
||||||
|
|
Loading…
Reference in New Issue
Block a user