|
@@ -95,6 +95,53 @@ class PartnerAgreementController extends Controller
|
|
|
return $this->successResponse(message: __('messages.deleted'), code: 204);
|
|
return $this->successResponse(message: __('messages.deleted'), code: 204);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ public function myPartner(): JsonResponse
|
|
|
|
|
+ {
|
|
|
|
|
+ $item = $this->service->findByUserId(auth()->id());
|
|
|
|
|
+ if (!$item) {
|
|
|
|
|
+ return $this->errorResponse(message: __('messages.not_found'), code: 404);
|
|
|
|
|
+ }
|
|
|
|
|
+ return $this->successResponse(payload: new PartnerAgreementResource($item));
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ public function updateMyPartner(PartnerAgreementRequest $request): JsonResponse
|
|
|
|
|
+ {
|
|
|
|
|
+ $item = $this->service->findByUserId(auth()->id());
|
|
|
|
|
+ if (!$item) {
|
|
|
|
|
+ return $this->errorResponse(message: __('messages.not_found'), code: 404);
|
|
|
|
|
+ }
|
|
|
|
|
+ $updated = $this->service->update($item->id, $request->validated());
|
|
|
|
|
+ return $this->successResponse(payload: new PartnerAgreementResource($updated), message: __('messages.updated'));
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ public function uploadMyLogo(UploadLogoRequest $request): JsonResponse
|
|
|
|
|
+ {
|
|
|
|
|
+ $item = $this->service->findByUserId(auth()->id());
|
|
|
|
|
+ if (!$item) {
|
|
|
|
|
+ return $this->errorResponse(message: __('messages.not_found'), code: 404);
|
|
|
|
|
+ }
|
|
|
|
|
+ $media = $this->mediaService->uploadLogo($request->file('logo'), $item->id);
|
|
|
|
|
+ return $this->successResponse(payload: new MediaResource($media), code: 201);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ public function uploadMyMedia(UploadMediaRequest $request): JsonResponse
|
|
|
|
|
+ {
|
|
|
|
|
+ $item = $this->service->findByUserId(auth()->id());
|
|
|
|
|
+ if (!$item) {
|
|
|
|
|
+ return $this->errorResponse(message: __('messages.not_found'), code: 404);
|
|
|
|
|
+ }
|
|
|
|
|
+ $file = $request->file('file');
|
|
|
|
|
+ $mediaType = str_starts_with($file->getMimeType(), 'image/') ? 'imagem' : 'documento';
|
|
|
|
|
+ $media = $this->mediaService->upload($file, 'partner_agreement', $item->id, $mediaType);
|
|
|
|
|
+ return $this->successResponse(payload: new MediaResource($media), code: 201);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ public function deleteMyMedia(int $mediaId): JsonResponse
|
|
|
|
|
+ {
|
|
|
|
|
+ $this->mediaService->delete($mediaId);
|
|
|
|
|
+ return $this->successResponse(message: __('messages.deleted'), code: 204);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
public function showDados(int $id): JsonResponse
|
|
public function showDados(int $id): JsonResponse
|
|
|
{
|
|
{
|
|
|
$item = $this->service->findDados($id);
|
|
$item = $this->service->findDados($id);
|