mirror of
https://github.com/Sonny93/my-links.git
synced 2025-12-10 15:35:35 +00:00
28 lines
1.0 KiB
TypeScript
28 lines
1.0 KiB
TypeScript
import { CollectionDto } from '#dtos/collection';
|
|
import { CollectionService } from '#services/collections/collection_service';
|
|
import { deleteCollectionValidator } from '#validators/collections/delete_collection_validator';
|
|
import { inject } from '@adonisjs/core';
|
|
import { HttpContext } from '@adonisjs/core/http';
|
|
|
|
@inject()
|
|
export default class DeleteCollectionController {
|
|
constructor(private collectionService: CollectionService) {}
|
|
|
|
async render({ inertia }: HttpContext) {
|
|
const collectionId = await this.collectionService.validateCollectionId();
|
|
if (!collectionId) return;
|
|
|
|
const collection =
|
|
await this.collectionService.getCollectionById(collectionId);
|
|
return inertia.render('collections/delete', {
|
|
collection: new CollectionDto(collection).serialize(),
|
|
});
|
|
}
|
|
|
|
async execute({ request, response }: HttpContext) {
|
|
const { params } = await request.validateUsing(deleteCollectionValidator);
|
|
await this.collectionService.deleteCollection(params.id);
|
|
return response.redirectToNamedRoute('dashboard');
|
|
}
|
|
}
|