Implement endpoint return content from about us to client.
This commit is contained in:
parent
b5297229b6
commit
fe5de7c4bb
55
app/Http/Controllers/AboutUsController.php
Normal file
55
app/Http/Controllers/AboutUsController.php
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace App\Http\Controllers;
|
||||||
|
|
||||||
|
use App\Http\Requests\StoreAboutUsRequest;
|
||||||
|
use App\Http\Resources\AboutUsResource;
|
||||||
|
use App\Models\AboutUs;
|
||||||
|
use App\Repositories\AboutUs\AboutUsContractInterface;
|
||||||
|
use App\Traits\ApiResponse;
|
||||||
|
use Illuminate\Http\Response;
|
||||||
|
|
||||||
|
class AboutUsController extends Controller
|
||||||
|
{
|
||||||
|
use ApiResponse;
|
||||||
|
|
||||||
|
public function __construct(
|
||||||
|
protected AboutUsContractInterface $aboutUsContract
|
||||||
|
){}
|
||||||
|
|
||||||
|
public function index()
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
$response = $this->aboutUsContract->all();
|
||||||
|
return (new AboutUsResource($response))
|
||||||
|
->response()
|
||||||
|
->setStatusCode(Response::HTTP_OK);
|
||||||
|
} catch (\Exception $ex) {
|
||||||
|
return $this->errorResponse(false, $ex->getMessage(), Response::HTTP_INTERNAL_SERVER_ERROR);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public function store(StoreAboutUsRequest $aboutUsRequest)
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
|
||||||
|
$about = $this->aboutUsContract->max('id');
|
||||||
|
|
||||||
|
if ($about !== null)
|
||||||
|
{
|
||||||
|
$response = $this->aboutUsContract->update($aboutUsRequest->validated(), $about);
|
||||||
|
} else {
|
||||||
|
$response = $this->aboutUsContract->create($aboutUsRequest->validated());
|
||||||
|
}
|
||||||
|
return (new AboutUsResource($response))
|
||||||
|
->response()
|
||||||
|
->setStatusCode(Response::HTTP_ACCEPTED);
|
||||||
|
} catch (\Exception $ex) {
|
||||||
|
return $this->errorResponse(false, $ex->getMessage(), Response::HTTP_INTERNAL_SERVER_ERROR);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -19,9 +19,16 @@ class TelemetryController extends Controller
|
|||||||
protected Med5minContractInterface $med5minContract
|
protected Med5minContractInterface $med5minContract
|
||||||
){}
|
){}
|
||||||
|
|
||||||
public function index()
|
public function index(Request $request)
|
||||||
{
|
{
|
||||||
//
|
try {
|
||||||
|
$response = $this->med5minContract->search($request->all());
|
||||||
|
return (new TelemetryResource($response))
|
||||||
|
->response()
|
||||||
|
->setStatusCode(Response::HTTP_OK);
|
||||||
|
} catch (\Exception $ex) {
|
||||||
|
return $this->errorResponse(false, $ex->getMessage(), Response::HTTP_INTERNAL_SERVER_ERROR);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public function powerFactor(Request $request)
|
public function powerFactor(Request $request)
|
||||||
|
|||||||
30
app/Http/Requests/StoreAboutUsRequest.php
Normal file
30
app/Http/Requests/StoreAboutUsRequest.php
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Requests;
|
||||||
|
|
||||||
|
use Illuminate\Foundation\Http\FormRequest;
|
||||||
|
|
||||||
|
class StoreAboutUsRequest extends FormRequest
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Determine if the user is authorized to make this request.
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function authorize()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the validation rules that apply to the request.
|
||||||
|
*
|
||||||
|
* @return array<string, mixed>
|
||||||
|
*/
|
||||||
|
public function rules()
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
'about' => 'required|string',
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
||||||
19
app/Http/Resources/AboutUsResource.php
Normal file
19
app/Http/Resources/AboutUsResource.php
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Resources;
|
||||||
|
|
||||||
|
use Illuminate\Http\Resources\Json\JsonResource;
|
||||||
|
|
||||||
|
class AboutUsResource extends JsonResource
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Transform the resource into an array.
|
||||||
|
*
|
||||||
|
* @param \Illuminate\Http\Request $request
|
||||||
|
* @return array|\Illuminate\Contracts\Support\Arrayable|\JsonSerializable
|
||||||
|
*/
|
||||||
|
public function toArray($request)
|
||||||
|
{
|
||||||
|
return parent::toArray($request);
|
||||||
|
}
|
||||||
|
}
|
||||||
37
app/Models/AboutUs.php
Normal file
37
app/Models/AboutUs.php
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Models;
|
||||||
|
|
||||||
|
use DateTimeInterface;
|
||||||
|
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||||
|
use Illuminate\Database\Eloquent\Model;
|
||||||
|
use Illuminate\Database\Eloquent\SoftDeletes;
|
||||||
|
use OwenIt\Auditing\Auditable;
|
||||||
|
use OwenIt\Auditing\Contracts\Auditable as Auditing;
|
||||||
|
|
||||||
|
class AboutUs extends Model implements Auditing
|
||||||
|
{
|
||||||
|
use HasFactory, SoftDeletes, Auditable;
|
||||||
|
|
||||||
|
protected $table = "about_us";
|
||||||
|
|
||||||
|
protected $guarded = ['id'];
|
||||||
|
|
||||||
|
protected $fillable = [
|
||||||
|
'about',
|
||||||
|
'created_at',
|
||||||
|
'updated_at',
|
||||||
|
'deleted_at',
|
||||||
|
];
|
||||||
|
|
||||||
|
protected $hidden = [
|
||||||
|
'updated_at',
|
||||||
|
'deleted_at',
|
||||||
|
];
|
||||||
|
|
||||||
|
protected function serializeDate(DateTimeInterface $date): string
|
||||||
|
{
|
||||||
|
return $date->format('d/m/Y H:i:s');
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -6,10 +6,12 @@ use DateTimeInterface;
|
|||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||||
use Illuminate\Database\Eloquent\Model;
|
use Illuminate\Database\Eloquent\Model;
|
||||||
use Illuminate\Database\Eloquent\SoftDeletes;
|
use Illuminate\Database\Eloquent\SoftDeletes;
|
||||||
|
use OwenIt\Auditing\Auditable;
|
||||||
|
use OwenIt\Auditing\Contracts\Auditable as Auditing;
|
||||||
|
|
||||||
class InfoSectorial extends Model
|
class InfoSectorial extends Model implements Auditing
|
||||||
{
|
{
|
||||||
use HasFactory, SoftDeletes;
|
use HasFactory, SoftDeletes, Auditable;
|
||||||
|
|
||||||
protected $table = "info_sectorial";
|
protected $table = "info_sectorial";
|
||||||
|
|
||||||
|
|||||||
@ -8,10 +8,11 @@ use Illuminate\Database\Eloquent\Model;
|
|||||||
use Illuminate\Database\Eloquent\Relations\BelongsToMany;
|
use Illuminate\Database\Eloquent\Relations\BelongsToMany;
|
||||||
use Illuminate\Database\Eloquent\SoftDeletes;
|
use Illuminate\Database\Eloquent\SoftDeletes;
|
||||||
use OwenIt\Auditing\Auditable;
|
use OwenIt\Auditing\Auditable;
|
||||||
|
use OwenIt\Auditing\Contracts\Auditable as Auditing;
|
||||||
|
|
||||||
class Notifications extends Model
|
class Notifications extends Model implements Auditing
|
||||||
{
|
{
|
||||||
use HasFactory, SoftDeletes;
|
use HasFactory, SoftDeletes, Auditable;
|
||||||
|
|
||||||
protected $table = 'notificacoes';
|
protected $table = 'notificacoes';
|
||||||
|
|
||||||
|
|||||||
@ -2,6 +2,8 @@
|
|||||||
|
|
||||||
namespace App\Providers;
|
namespace App\Providers;
|
||||||
|
|
||||||
|
use App\Repositories\AboutUs\AboutUsContractInterface;
|
||||||
|
use App\Repositories\AboutUs\AboutUsRepository;
|
||||||
use App\Repositories\DadosCadastrais\DadosCadastraisContractInterface;
|
use App\Repositories\DadosCadastrais\DadosCadastraisContractInterface;
|
||||||
use App\Repositories\DadosCadastrais\DadosCadastraisRepository;
|
use App\Repositories\DadosCadastrais\DadosCadastraisRepository;
|
||||||
use App\Repositories\DadosTe\DadosTeContractInterface;
|
use App\Repositories\DadosTe\DadosTeContractInterface;
|
||||||
@ -61,6 +63,10 @@ class AppServiceProvider extends ServiceProvider
|
|||||||
Med5minContractInterface::class,
|
Med5minContractInterface::class,
|
||||||
Med5minRepository::class
|
Med5minRepository::class
|
||||||
);
|
);
|
||||||
|
$this->app->bind(
|
||||||
|
AboutUsContractInterface::class,
|
||||||
|
AboutUsRepository::class
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
10
app/Repositories/AboutUs/AboutUsContractInterface.php
Normal file
10
app/Repositories/AboutUs/AboutUsContractInterface.php
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Repositories\AboutUs;
|
||||||
|
|
||||||
|
use App\Repositories\ContractInterface;
|
||||||
|
|
||||||
|
interface AboutUsContractInterface extends ContractInterface
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
17
app/Repositories/AboutUs/AboutUsRepository.php
Normal file
17
app/Repositories/AboutUs/AboutUsRepository.php
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace App\Repositories\AboutUs;
|
||||||
|
|
||||||
|
use App\Models\AboutUs;
|
||||||
|
use App\Repositories\AbstractRepository;
|
||||||
|
|
||||||
|
class AboutUsRepository extends AbstractRepository implements AboutUsContractInterface
|
||||||
|
{
|
||||||
|
public function __construct(AboutUs $aboutUs)
|
||||||
|
{
|
||||||
|
parent::__construct($aboutUs);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,22 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Database\Migrations\Migration;
|
||||||
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
|
return new class extends Migration {
|
||||||
|
public function up()
|
||||||
|
{
|
||||||
|
Schema::create('about_us', function (Blueprint $table) {
|
||||||
|
$table->id();
|
||||||
|
$table->text('about');
|
||||||
|
$table->timestamps();
|
||||||
|
$table->softDeletes();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
public function down()
|
||||||
|
{
|
||||||
|
Schema::dropIfExists('about_us');
|
||||||
|
}
|
||||||
|
};
|
||||||
@ -44,6 +44,8 @@ Route::middleware(['auth:sanctum', 'ability:Admin'])->group(function () {
|
|||||||
|
|
||||||
Route::post('updateFile', [\App\Http\Controllers\InfoSectorialController::class, 'updateFile']);
|
Route::post('updateFile', [\App\Http\Controllers\InfoSectorialController::class, 'updateFile']);
|
||||||
|
|
||||||
|
Route::post('aboutUs', [\App\Http\Controllers\AboutUsController::class, 'store']);
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
Route::middleware(['auth:sanctum', 'ability:Client'])->group(function () {
|
Route::middleware(['auth:sanctum', 'ability:Client'])->group(function () {
|
||||||
@ -58,13 +60,9 @@ Route::middleware(['auth:sanctum', 'ability:Client'])->group(function () {
|
|||||||
Route::post('economy/estimates', [\App\Http\Controllers\EconomyController::class, 'captiveMonthlyEconomy']);
|
Route::post('economy/estimates', [\App\Http\Controllers\EconomyController::class, 'captiveMonthlyEconomy']);
|
||||||
Route::post('economy/MWh', [\App\Http\Controllers\EconomyController::class, 'costMWhEconomy']);
|
Route::post('economy/MWh', [\App\Http\Controllers\EconomyController::class, 'costMWhEconomy']);
|
||||||
|
|
||||||
// Route::post('telemetry', [\App\Http\Controllers\TelemetryController::class, 'index']);
|
|
||||||
Route::post('telemetry/powerFactor', [\App\Http\Controllers\TelemetryController::class, 'powerFactor']);
|
Route::post('telemetry/powerFactor', [\App\Http\Controllers\TelemetryController::class, 'powerFactor']);
|
||||||
Route::post('telemetry/demand', [\App\Http\Controllers\TelemetryController::class, 'demand']);
|
Route::post('telemetry/demand', [\App\Http\Controllers\TelemetryController::class, 'demand']);
|
||||||
Route::post('telemetry/discretization', [\App\Http\Controllers\TelemetryController::class, 'discretization']);
|
Route::post('telemetry/discretization', [\App\Http\Controllers\TelemetryController::class, 'discretization']);
|
||||||
// Route::post('telemetry/grossMonthly', [\App\Http\Controllers\TelemetryController::class, 'grossMonthlyEconomy']);
|
|
||||||
// Route::post('telemetry/estimates', [\App\Http\Controllers\TelemetryController::class, 'captiveMonthlyEconomy']);
|
|
||||||
// Route::post('telemetry/MWh', [\App\Http\Controllers\TelemetryController::class, 'costMWhEconomy']);
|
|
||||||
|
|
||||||
Route::post('operation/summary', [\App\Http\Controllers\OperationSummaryController::class, 'operationSummary']);
|
Route::post('operation/summary', [\App\Http\Controllers\OperationSummaryController::class, 'operationSummary']);
|
||||||
Route::post('operation', [\App\Http\Controllers\OperationSummaryController::class, 'index']);
|
Route::post('operation', [\App\Http\Controllers\OperationSummaryController::class, 'index']);
|
||||||
@ -72,6 +70,8 @@ Route::middleware(['auth:sanctum', 'ability:Client'])->group(function () {
|
|||||||
Route::get('download', [\App\Http\Controllers\InfoSectorialController::class, 'download']);
|
Route::get('download', [\App\Http\Controllers\InfoSectorialController::class, 'download']);
|
||||||
|
|
||||||
Route::post('notify', [\App\Http\Controllers\NotificationController::class, 'notify']);
|
Route::post('notify', [\App\Http\Controllers\NotificationController::class, 'notify']);
|
||||||
|
|
||||||
|
Route::get('aboutUs', [\App\Http\Controllers\AboutUsController::class, 'index']);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user