refactor: replace custom CRM with Monica fork
Some checks failed
Build & Push Monica Image to Gitea Registry / build-and-push (push) Failing after 9s

This commit is contained in:
Kroonk
2026-05-22 16:19:55 +02:00
parent 38cc4c09ca
commit a213a1dba0
2215 changed files with 242567 additions and 6015 deletions

View File

@@ -0,0 +1,44 @@
<?php
namespace App\Http\Controllers\Account\LifeEvent;
use App\Http\Controllers\Controller;
use App\Traits\JsonRespondController;
class LifeEventCategoriesController extends Controller
{
use JsonRespondController;
/**
* Get all the life event categories.
*/
public function index()
{
$lifeEventCategoriesData = collect([]);
$lifeEventCategories = auth()->user()->account->lifeEventCategories;
foreach ($lifeEventCategories as $lifeEventCategory) {
$lifeEventTypesData = collect([]);
$lifeEventTypes = $lifeEventCategory->lifeEventTypes;
foreach ($lifeEventTypes as $lifeEventType) {
$dataLifeEventType = [
'id' => $lifeEventType->id,
'name' => $lifeEventType->name,
'default_life_event_type_key' => $lifeEventType->default_life_event_type_key,
];
$lifeEventTypesData->push($dataLifeEventType);
}
$data = [
'id' => $lifeEventCategory->id,
'name' => $lifeEventCategory->name,
'default_life_event_category_key' => $lifeEventCategory->default_life_event_category_key,
'lifeEventTypes' => $lifeEventTypesData,
];
$lifeEventCategoriesData->push($data);
}
return $lifeEventCategoriesData;
}
}

View File

@@ -0,0 +1,77 @@
<?php
namespace App\Http\Controllers\Account\LifeEvent;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Traits\JsonRespondController;
use App\Services\Account\LifeEvent\LifeEventType\CreateLifeEventType;
use App\Services\Account\LifeEvent\LifeEventType\UpdateLifeEventType;
use App\Services\Account\LifeEvent\LifeEventType\DestroyLifeEventType;
use App\Http\Resources\LifeEvent\LifeEventType as LifeEventTypeResource;
class LifeEventTypesController extends Controller
{
use JsonRespondController;
/**
* Store a life event type.
*
* @param Request $request
* @return LifeEventTypeResource
*/
public function store(Request $request)
{
$type = app(CreateLifeEventType::class)->execute([
'account_id' => auth()->user()->account_id,
'life_event_category_id' => $request->input('life_event_category_id'),
'name' => $request->input('name'),
]);
return new LifeEventTypeResource($type);
}
/**
* Update a life event type.
*
* @param Request $request
* @param int $liveEventTypeId
* @return LifeEventTypeResource
*/
public function update(Request $request, $liveEventTypeId)
{
$data = [
'account_id' => auth()->user()->account_id,
'life_event_type_id' => $liveEventTypeId,
'life_event_category_id' => $request->input('life_event_category_id'),
'name' => $request->input('name'),
];
$type = app(UpdateLifeEventType::class)->execute($data);
return new LifeEventTypeResource($type);
}
/**
* Delete the life event type.
*
* @param Request $request
* @param int $lifeEventTypeId
* @return \Illuminate\Http\JsonResponse
*/
public function destroy(Request $request, $lifeEventTypeId)
{
$data = [
'account_id' => auth()->user()->account_id,
'life_event_type_id' => $lifeEventTypeId,
];
try {
app(DestroyLifeEventType::class)->execute($data);
} catch (\Exception $e) {
return $this->respondNotFound();
}
return $this->respondObjectDeleted($lifeEventTypeId);
}
}