feat: add delete collection form and controller method

This commit is contained in:
Sonny
2024-05-19 16:23:09 +02:00
committed by Sonny
parent 32133be8b0
commit 50030df9a6
10 changed files with 128 additions and 29 deletions

View File

@@ -2,6 +2,7 @@ import Collection from '#models/collection';
import User from '#models/user';
import {
createCollectionValidator,
deleteCollectionValidator,
updateCollectionValidator,
} from '#validators/collection';
import type { HttpContext } from '@adonisjs/core/http';
@@ -82,6 +83,28 @@ export default class CollectionsController {
return this.redirectToCollectionId(response, params.id);
}
async showDeletePage({ auth, request, inertia, response }: HttpContext) {
const collectionId = request.qs()?.collectionId;
if (!collectionId) {
return response.redirectToNamedRoute('dashboard');
}
const collection = await this.getCollectionById(
collectionId,
auth.user!.id
);
return inertia.render('collections/delete', {
collection,
});
}
async delete({ request, auth, response }: HttpContext) {
const { params } = await request.validateUsing(deleteCollectionValidator);
const collection = await this.getCollectionById(params.id, auth.user!.id);
await collection.delete();
return response.redirectToNamedRoute('dashboard');
}
/**
* Get collection by id.
*