remove mimes validation within edocument endpoint, because ParseEDocument handles this + minor code cleanups

This commit is contained in:
paulwer 2024-09-15 08:18:07 +02:00
parent 9ced189262
commit 3aa17bd6cd
3 changed files with 50 additions and 4 deletions

View File

@ -584,6 +584,52 @@ class ExpenseController extends BaseController
return $this->itemResponse($expense->fresh()); return $this->itemResponse($expense->fresh());
} }
/**
* @OA\Post(
* path="/api/v1/expenses/edocument",
* operationId="edocumentExpense",
* tags={"expenses"},
* summary="Uploads an electronic document to a expense",
* description="Handles the uploading of an electronic document to a expense",
* @OA\Parameter(ref="#/components/parameters/X-API-TOKEN"),
* @OA\Parameter(ref="#/components/parameters/X-Requested-With"),
* @OA\Parameter(ref="#/components/parameters/include"),
* @OA\RequestBody(
* description="User credentials",
* required=true,
* @OA\MediaType(
* mediaType="multipart/form-data",
* @OA\Schema(
* type="array",
* @OA\Items(
* type="string",
* format="binary",
* description="The files to be uploaded",
* ),
* )
* )
* ),
* @OA\Response(
* response=200,
* description="Returns a HTTP status",
* @OA\Header(header="X-MINIMUM-CLIENT-VERSION", ref="#/components/headers/X-MINIMUM-CLIENT-VERSION"),
* @OA\Header(header="X-RateLimit-Remaining", ref="#/components/headers/X-RateLimit-Remaining"),
* @OA\Header(header="X-RateLimit-Limit", ref="#/components/headers/X-RateLimit-Limit"),
* ),
* @OA\Response(
* response=422,
* description="Validation error",
* @OA\JsonContent(ref="#/components/schemas/ValidationError"),
*
* ),
* @OA\Response(
* response="default",
* response="default",
* description="Unexpected Error",
* @OA\JsonContent(ref="#/components/schemas/Error"),
* ),
* )
*/
public function edocument(EDocumentRequest $request) public function edocument(EDocumentRequest $request)
{ {
$user = auth()->user(); $user = auth()->user();

View File

@ -280,7 +280,7 @@ class PostMarkController extends BaseController
nlog('Failed: Message could not be parsed, because required parameters are missing.'); nlog('Failed: Message could not be parsed, because required parameters are missing.');
return response()->json(['message' => 'Failed. Missing/Invalid Parameters.'], 400); return response()->json(['message' => 'Failed. Missing/Invalid Parameters.'], 400);
} }
$company = MultiDB::findAndSetDbByExpenseMailbox($input["To"]); $company = MultiDB::findAndSetDbByExpenseMailbox($input["To"]);
if (!$company) { if (!$company) {
@ -301,7 +301,7 @@ class PostMarkController extends BaseController
$inboundMail = new InboundMail(); $inboundMail = new InboundMail();
$inboundMail->from = $input["From"] ?? ''; $inboundMail->from = $input["From"] ?? '';
$inboundMail->to = $input["To"] ; // usage of data-input, because we need a single email here $inboundMail->to = $input["To"]; // usage of data-input, because we need a single email here
$inboundMail->subject = $input["Subject"] ?? ''; $inboundMail->subject = $input["Subject"] ?? '';
$inboundMail->body = $input["HtmlBody"] ?? ''; $inboundMail->body = $input["HtmlBody"] ?? '';
$inboundMail->text_body = $input["TextBody"] ?? ''; $inboundMail->text_body = $input["TextBody"] ?? '';

View File

@ -25,9 +25,9 @@ class EDocumentRequest extends Request
$rules = []; $rules = [];
if ($this->file('documents') && is_array($this->file('documents'))) { if ($this->file('documents') && is_array($this->file('documents'))) {
$rules['documents.*'] = 'required|file|max:1000000|mimes:xml'; $rules['documents.*'] = 'required|file|max:1000000';
} elseif ($this->file('documents')) { } elseif ($this->file('documents')) {
$rules['documents'] = 'required|file|max:1000000|mimes:xml'; $rules['documents'] = 'required|file|max:1000000';
} }
return $rules; return $rules;
} }