tethys.backend/start/validator.ts
Arno Kaimbacher 4c5a8f5a42
All checks were successful
CI / container-job (push) Successful in 43s
feat: update to vite.js, Refactor configuration files, remove unused assets, and clean up commented code:
- ace.js: use ts-node-maintained
- adonisrc.ts: load vite_provider, sett assetBundler to false, addd hooks property
- Dockerfile: change to node version 22
- package.json: remove babel depencies; add @swc/wasm, add vitejs/plugin-vue, add hot-hook, add vite,  update eslint-config-prettier, tailwindcss, ts-node-maintained
- new vite.config.js and config/vite.ts
- inertia.js
- improved own vinejs_provider.ts
- adapted app.css needed for vitejs
- adapted app.ts: new resolve method neede for vitejs
relocated resources/js/logo.svg
- remove Buffer import into FileUpload.vue
- Create.vue: improved submit needed for @inertiajs/vue3 form helper
- Edit.vue: mproved submit needed for @inertiajs/vue3 form helper
- kernel.ts: load vite_middleware
- formated rotes.ts file
- rewritten allowed_extensions_mimetypes.ts file (removed typescript errors)
2025-02-07 10:14:57 +01:00

74 lines
2.3 KiB
TypeScript

/*
|--------------------------------------------------------------------------
| Preloaded File - node ace make:preload validator
|--------------------------------------------------------------------------
|
| Any code written inside this file will be executed during the application
| boot.
https://issuehunt.io/r/adonisjs/validator/issues/84
|
*/
import vine from '@vinejs/vine';
// import { FieldContext } from '@vinejs/vine/types';
// import db from '@adonisjs/lucid/services/db';
import { VanillaErrorReporter } from '#validators/vanilla_error_reporter';
// vine.messagesProvider = new SimpleMessagesProvider({
// // Applicable for all fields
// 'required': 'The {{ field }} field is required',
// 'string': 'The value of {{ field }} field must be a string',
// 'email': 'The value is not a valid email address',
// // 'contacts.0.email.required': 'The primary email of the contact is required',
// // 'contacts.*.email.required': 'Contact email is required',
// 'permissions.minLength': 'at least {{ options.minLength }} permission must be defined',
// 'permissions.*.number': 'Define permissions as valid numbers',
// })
vine.errorReporter = () => new VanillaErrorReporter();
// /**
// * Options accepted by the unique rule
// */
// type Options = {
// table: string;
// column: string;
// };
// /**
// * Implementation
// */
// async function unique(value: unknown, options: Options, field: FieldContext) {
// /**
// * We do not want to deal with non-string
// * values. The "string" rule will handle the
// * the validation.
// */
// if (typeof value !== 'string') {
// return;
// }
// const builder = await db
// .from(options.table)
// .select(options.column)
// .where(options.column, value).first();
// const row = await builder.first();
// if (row) {
// field.report('The {{ field }} field is not unique', 'unique', field);
// }
// }
// /**
// * Converting a function to a VineJS rule
// */
// export const uniqueRule = vine.createRule(unique);
// VineString.macro('unique', function (this: VineString, options: Options) {
// return this.use(uniqueRule(options));
// });
// // declare module '@vinejs/vine' {
// // interface VineString {
// // unique(options: Options): this;
// // }
// // }