refactor: replace custom CRM with Monica fork
Some checks failed
Build & Push Monica Image to Gitea Registry / build-and-push (push) Failing after 9s
Some checks failed
Build & Push Monica Image to Gitea Registry / build-and-push (push) Failing after 9s
This commit is contained in:
31
app/Http/Controllers/Api/Settings/ApiAuditLogController.php
Normal file
31
app/Http/Controllers/Api/Settings/ApiAuditLogController.php
Normal file
@@ -0,0 +1,31 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Api\Settings;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Http\JsonResponse;
|
||||
use Illuminate\Database\QueryException;
|
||||
use App\Http\Controllers\Api\ApiController;
|
||||
use App\Http\Resources\AuditLog\AuditLog as AuditLogResource;
|
||||
use Illuminate\Http\Resources\Json\AnonymousResourceCollection;
|
||||
|
||||
class ApiAuditLogController extends ApiController
|
||||
{
|
||||
/**
|
||||
* Get the list of the audit logs.
|
||||
*
|
||||
* @param Request $request
|
||||
* @return JsonResponse|AnonymousResourceCollection
|
||||
*/
|
||||
public function index(Request $request)
|
||||
{
|
||||
try {
|
||||
$logs = auth()->user()->account->auditLogs()
|
||||
->paginate($this->getLimitPerPage());
|
||||
} catch (QueryException $e) {
|
||||
return $this->respondInvalidQuery();
|
||||
}
|
||||
|
||||
return AuditLogResource::collection($logs);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Api\Settings;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use App\Models\Settings\Term;
|
||||
use App\Http\Controllers\Api\ApiController;
|
||||
use Illuminate\Database\Eloquent\ModelNotFoundException;
|
||||
use App\Http\Resources\Settings\Compliance\Compliance as ComplianceResource;
|
||||
|
||||
class ApiComplianceController extends ApiController
|
||||
{
|
||||
/**
|
||||
* Get the list of terms and privacy policies.
|
||||
*
|
||||
* @return \Illuminate\Http\Resources\Json\AnonymousResourceCollection
|
||||
*/
|
||||
public function index(Request $request)
|
||||
{
|
||||
$terms = Term::orderBy('term_version', 'desc')->paginate($this->getLimitPerPage());
|
||||
|
||||
return ComplianceResource::collection($terms);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the detail of a given term.
|
||||
*
|
||||
* @param Request $request
|
||||
* @return ComplianceResource|\Illuminate\Http\JsonResponse
|
||||
*/
|
||||
public function show(Request $request, $termId)
|
||||
{
|
||||
try {
|
||||
$term = Term::where('id', $termId)
|
||||
->firstOrFail();
|
||||
} catch (ModelNotFoundException $e) {
|
||||
return $this->respondNotFound();
|
||||
}
|
||||
|
||||
return new ComplianceResource($term);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,163 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Api\Settings;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Database\QueryException;
|
||||
use App\Models\Contact\ContactFieldType;
|
||||
use Illuminate\Support\Facades\Validator;
|
||||
use App\Http\Controllers\Api\ApiController;
|
||||
use Illuminate\Database\Eloquent\ModelNotFoundException;
|
||||
use App\Http\Resources\Settings\ContactFieldType\ContactFieldType as ContactFieldTypeResource;
|
||||
|
||||
class ApiContactFieldTypeController extends ApiController
|
||||
{
|
||||
/**
|
||||
* Get the list of contact field types.
|
||||
*
|
||||
* @return \Illuminate\Http\Resources\Json\AnonymousResourceCollection
|
||||
*/
|
||||
public function index(Request $request)
|
||||
{
|
||||
$contactFieldTypes = auth()->user()->account->contactFieldTypes()
|
||||
->paginate($this->getLimitPerPage());
|
||||
|
||||
return ContactFieldTypeResource::collection($contactFieldTypes);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the detail of a given contact field type.
|
||||
*
|
||||
* @param Request $request
|
||||
* @return ContactFieldTypeResource|\Illuminate\Http\JsonResponse
|
||||
*/
|
||||
public function show(Request $request, $contactFieldTypeId)
|
||||
{
|
||||
try {
|
||||
$contactFieldType = ContactFieldType::where('account_id', auth()->user()->account_id)
|
||||
->where('id', $contactFieldTypeId)
|
||||
->firstOrFail();
|
||||
} catch (ModelNotFoundException $e) {
|
||||
return $this->respondNotFound();
|
||||
}
|
||||
|
||||
return new ContactFieldTypeResource($contactFieldType);
|
||||
}
|
||||
|
||||
/**
|
||||
* Store the contactfieldtype.
|
||||
*
|
||||
* @param Request $request
|
||||
* @return ContactFieldTypeResource|\Illuminate\Http\JsonResponse
|
||||
*/
|
||||
public function store(Request $request)
|
||||
{
|
||||
$isvalid = $this->validateUpdate($request);
|
||||
if ($isvalid !== true) {
|
||||
return $isvalid;
|
||||
}
|
||||
|
||||
try {
|
||||
$contactFieldType = ContactFieldType::create(
|
||||
$request->except(['account_id'])
|
||||
+ ['account_id' => auth()->user()->account_id]
|
||||
);
|
||||
} catch (QueryException $e) {
|
||||
return $this->respondNotTheRightParameters();
|
||||
}
|
||||
|
||||
return new ContactFieldTypeResource($contactFieldType);
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the contact field type.
|
||||
*
|
||||
* @param Request $request
|
||||
* @param int $contactFieldTypeId
|
||||
* @return ContactFieldTypeResource|\Illuminate\Http\JsonResponse
|
||||
*/
|
||||
public function update(Request $request, $contactFieldTypeId)
|
||||
{
|
||||
try {
|
||||
$contactFieldType = ContactFieldType::where('account_id', auth()->user()->account_id)
|
||||
->where('id', $contactFieldTypeId)
|
||||
->firstOrFail();
|
||||
} catch (ModelNotFoundException $e) {
|
||||
return $this->respondNotFound();
|
||||
}
|
||||
|
||||
$isvalid = $this->validateUpdate($request);
|
||||
if ($isvalid !== true) {
|
||||
return $isvalid;
|
||||
}
|
||||
|
||||
// Update the contactfieldtype itself
|
||||
try {
|
||||
$contactFieldType->update(
|
||||
$request->only([
|
||||
'name',
|
||||
'fontawesome_icon',
|
||||
'protocol',
|
||||
'delible',
|
||||
'type',
|
||||
])
|
||||
);
|
||||
} catch (QueryException $e) {
|
||||
return $this->respondNotTheRightParameters();
|
||||
}
|
||||
|
||||
return new ContactFieldTypeResource($contactFieldType);
|
||||
}
|
||||
|
||||
/**
|
||||
* Validate the request for update.
|
||||
*
|
||||
* @param Request $request
|
||||
* @return \Illuminate\Http\JsonResponse|true
|
||||
*/
|
||||
private function validateUpdate(Request $request)
|
||||
{
|
||||
// Validates basic fields to create the entry
|
||||
$validator = Validator::make($request->all(), [
|
||||
'name' => 'required|max:255',
|
||||
'fontawesome_icon' => 'nullable|max:255',
|
||||
'protocol' => 'nullable|max:255',
|
||||
'delible' => 'integer',
|
||||
'type' => 'nullable|max:255',
|
||||
]);
|
||||
|
||||
if ($validator->fails()) {
|
||||
return $this->respondValidatorFailed($validator);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Delete an contactfieldtype.
|
||||
*
|
||||
* @param Request $request
|
||||
* @return \Illuminate\Http\JsonResponse
|
||||
*/
|
||||
public function destroy(Request $request, $contactFieldTypeId)
|
||||
{
|
||||
try {
|
||||
$contactFieldType = ContactFieldType::where('account_id', auth()->user()->account_id)
|
||||
->where('id', $contactFieldTypeId)
|
||||
->firstOrFail();
|
||||
} catch (ModelNotFoundException $e) {
|
||||
return $this->respondNotFound();
|
||||
}
|
||||
|
||||
$contactFields = auth()->user()->account->contactFields
|
||||
->where('contact_field_type_id', $contactFieldTypeId);
|
||||
|
||||
foreach ($contactFields as $contactField) {
|
||||
$contactField->delete();
|
||||
}
|
||||
|
||||
$contactFieldType->delete();
|
||||
|
||||
return $this->respondObjectDeleted($contactFieldType->id);
|
||||
}
|
||||
}
|
||||
41
app/Http/Controllers/Api/Settings/ApiCurrencyController.php
Normal file
41
app/Http/Controllers/Api/Settings/ApiCurrencyController.php
Normal file
@@ -0,0 +1,41 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Api\Settings;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use App\Models\Settings\Currency;
|
||||
use App\Http\Controllers\Api\ApiController;
|
||||
use Illuminate\Database\Eloquent\ModelNotFoundException;
|
||||
use App\Http\Resources\Settings\Currency\Currency as CurrencyResource;
|
||||
|
||||
class ApiCurrencyController extends ApiController
|
||||
{
|
||||
/**
|
||||
* Get the list of currencies.
|
||||
*
|
||||
* @return \Illuminate\Http\Resources\Json\AnonymousResourceCollection
|
||||
*/
|
||||
public function index(Request $request)
|
||||
{
|
||||
$currencies = Currency::paginate($this->getLimitPerPage());
|
||||
|
||||
return CurrencyResource::collection($currencies);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the detail of a given currency.
|
||||
*
|
||||
* @param Request $request
|
||||
* @return CurrencyResource|\Illuminate\Http\JsonResponse
|
||||
*/
|
||||
public function show(Request $request, $currencyId)
|
||||
{
|
||||
try {
|
||||
$currency = Currency::findOrFail($currencyId);
|
||||
} catch (ModelNotFoundException $e) {
|
||||
return $this->respondNotFound();
|
||||
}
|
||||
|
||||
return new CurrencyResource($currency);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user