tethys.backend/config/drive.ts
Arno Kaimbacher 36cd7a757b
All checks were successful
CI / container-job (push) Successful in 41s
feat: Integrate official drive_provider, update user profile features & UI improvements
- adonisrc.ts: Load official drive_provider and unload custom driver_provider.
- packages.json: Add @headlessui/vue dependency for tab components.
- AvatarController.ts: Rewrite avatar generation logic to always return the same avatar per user.
- auth/UserController.ts: Add profile and profileUpdate methods to support user profile editing.
- Submitter/datasetController.ts & app/models/file.ts: Adapt code to use the official drive_provider.
- app/models/user.ts: Introduce “isAdmin” getter.
- config/drive.ts: Create new configuration for the official drive_provider.
- providers/vinejs_provider.ts: Adapt allowedExtensions control to use provided options or database enabled extensions.
- resource/js/app.ts: Load default Head and Link components.
- resources/js/menu.ts: Add settings-profile.edit menu point.
- resources/js/Components/action-message.vue: Add new component for improved user feedback after form submissions.
- New avatar-input.vue component: Enable profile picture selection.
- Components/CardBox.vue: Alter layout to optionally show HeaderIcon in title bar.
- FormControl.vue: Define a readonly prop for textareas.
- Improve overall UI with updates to NavBar.vue, UserAvatar.vue, UserAvatarCurrentUser.vue, and add v-model support to password-meter.vue.
- Remove profile editing logic from AccountInfo.vue and introduce new profile components (show.vue, update-password-form.vue, update-profile-information.vue).
- app.edge: Modify page (add @inertiaHead tag) for better meta management.
- routes.ts: Add new routes for editing user profiles.
- General npm updates.
2025-02-27 16:24:25 +01:00

45 lines
No EOL
1.1 KiB
TypeScript

// import env from '#start/env'
// import app from '@adonisjs/core/services/app'
import { defineConfig, services } from '@adonisjs/drive'
const driveConfig = defineConfig({
default: 'public',
services: {
/**
* Persist files on the local filesystem
*/
public: services.fs({
location: '/storage/app/public/',
serveFiles: true,
routeBasePath: '/public',
visibility: 'public',
}),
local: services.fs({
location: '/storage/app/data/',
serveFiles: true,
routeBasePath: '/data',
visibility: 'public',
}),
/**
* Persist files on Digital Ocean spaces
*/
// spaces: services.s3({
// credentials: {
// accessKeyId: env.get('SPACES_KEY'),
// secretAccessKey: env.get('SPACES_SECRET'),
// },
// region: env.get('SPACES_REGION'),
// bucket: env.get('SPACES_BUCKET'),
// endpoint: env.get('SPACES_ENDPOINT'),
// visibility: 'public',
// }),
},
})
export default driveConfig