mirror of
https://github.com/Sonny93/my-links.git
synced 2025-12-08 14:43:24 +00:00
31 lines
954 B
TypeScript
31 lines
954 B
TypeScript
import { CollectionService } from '#collections/services/collection_service';
|
|
import { LinkService } from '#links/services/link_service';
|
|
import { createLinkValidator } from '#links/validators/create_link_validator';
|
|
import { inject } from '@adonisjs/core';
|
|
import { HttpContext } from '@adonisjs/core/http';
|
|
|
|
@inject()
|
|
export default class CreateLinkController {
|
|
constructor(
|
|
private linkService: LinkService,
|
|
private collectionsService: CollectionService
|
|
) {}
|
|
|
|
async render({ inertia }: HttpContext) {
|
|
const collections =
|
|
await this.collectionsService.getCollectionsForAuthenticatedUser();
|
|
return inertia.render('links/create', { collections });
|
|
}
|
|
|
|
async execute({ request }: HttpContext) {
|
|
const { collectionId, ...payload } =
|
|
await request.validateUsing(createLinkValidator);
|
|
|
|
await this.linkService.createLink({
|
|
...payload,
|
|
collectionId,
|
|
});
|
|
return this.collectionsService.redirectToCollectionId(collectionId);
|
|
}
|
|
}
|