• File: ImaliTariffController.php
  • Full Path: /var/www/imaliapi/app/Http/Controllers/ImaliTariffController.php
  • Date Modified: 02/01/2024 9:14 PM
  • File size: 1.6 KB
  • MIME-type: text/x-php
  • Charset: utf-8
<?php

namespace App\Http\Controllers;

use App\ImaliTariff;
use Illuminate\Http\Request;
use Illuminate\Support\Str;

class ImaliTariffController extends Controller
{
    // todo - Criar uma tabela (intervalo) de valores para taxar nas transacoes de contas Empresas...

    public function createTariff(Request $request)
    {

        $this->validate($request, [
            'name' => 'required',
            'abbreviation' => 'required',
            'fee' => 'required',
            'fee_type' => 'required',
        ], [
            'name.required' => 'O Campo Nome é obrigatório',
            'abbreviation.required' => 'O Campo abbreviation é obrigatório',
            'fee.required' => 'O Campo fee é de carácter Obrigatório',
            'fee_type.required' => 'O Campo fee_type é de carácter Obrigatório',
        ]);

        // Gera 6 letras aleatórias
        // $letras = Str::random(3, 'abcdefghijklmnopqrstuvwxyz');
        // Gera 4 dígitos aleatórios
        $digitos = Str::random(6);

        // Combina as letras e dígitos para formar o código de 10 caracteres
        $codigo = Str::upper($digitos);

        // return $codigo;

        $imali_tariff = ImaliTariff::create([
            'code' => $codigo,
            'name' => $request->name,
            'abbreviation' => $request->abbreviation,
            'fee' => $request->fee,
            'fee_type' => $request->fee_type,
        ]);

        if (!$imali_tariff) return response()->json(['message' => 'Nenhum registo feito, tente novamente!'], 400);

        return response()->json(['message' => 'Dados salvos com sucesso!'], 200);
    }
}