+ Adding swagger schemas of frames sent while doing iLink Transaction
This commit is contained in:
parent
9f81865b77
commit
efe050f1a8
|
@ -89,8 +89,16 @@ class iLinkTransactionController extends Controller
|
||||||
* @OA\Response(
|
* @OA\Response(
|
||||||
* response=200,
|
* response=200,
|
||||||
* description="OK",
|
* description="OK",
|
||||||
* @OA\JsonContent(
|
* @OA\MediaType(
|
||||||
* ref="#/components/schemas/ApiResponse",
|
* mediaType="application/json",
|
||||||
|
* @OA\Schema(
|
||||||
|
* oneOf={
|
||||||
|
* @OA\Schema(ref="#/components/schemas/user_payement_of_operator_frame"),
|
||||||
|
* @OA\Schema(ref="#/components/schemas/user_remove_from_bank_to_wallet_frame"),
|
||||||
|
* @OA\Schema(ref="#/components/schemas/user_send_from_wallet_to_bank_frame"),
|
||||||
|
* @OA\Schema(ref="#/components/schemas/agent_send_from_cash_to_bank_frame"),
|
||||||
|
* }
|
||||||
|
* ),
|
||||||
* examples = {
|
* examples = {
|
||||||
* "user_payement_of_operator" : {
|
* "user_payement_of_operator" : {
|
||||||
* "summary" : "User - Payer une facture chez un opérateur donné",
|
* "summary" : "User - Payer une facture chez un opérateur donné",
|
||||||
|
@ -503,6 +511,78 @@ class iLinkTransactionController extends Controller
|
||||||
* )
|
* )
|
||||||
* )
|
* )
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @OA\Schema(
|
||||||
|
* schema="user_send_from_wallet_to_bank_frame",
|
||||||
|
* title = "User - Envoi de wallet à banque - Trame envoyé",
|
||||||
|
* @OA\Property(property="type",
|
||||||
|
* type="integer",
|
||||||
|
* default = 4,
|
||||||
|
* description="Type de la transaction"
|
||||||
|
* ),
|
||||||
|
* * @OA\Property(property="id_wallet_user",
|
||||||
|
* type="integer",
|
||||||
|
* example=9,
|
||||||
|
* description="ID du wallet de l'utilisateur enregistré dans la base de données"
|
||||||
|
* ),
|
||||||
|
* @OA\Property(property="network_emetteur",
|
||||||
|
* type="integer",
|
||||||
|
* example=101,
|
||||||
|
* description="ID du reseau enregistré dans la base de données auquel appartient le wallet"
|
||||||
|
* ),
|
||||||
|
* @OA\Property(property="iban",
|
||||||
|
* type="string",
|
||||||
|
* example = "CM15UBAA412341234123412341233",
|
||||||
|
* description="ID bancaire de l'utilisateur"
|
||||||
|
* ),
|
||||||
|
* @OA\Property(property="id_bank",
|
||||||
|
* type="integer",
|
||||||
|
* example = 16,
|
||||||
|
* description="ID de la banque dans la base de données"
|
||||||
|
* ),
|
||||||
|
* @OA\Property(property="bank",
|
||||||
|
* type="string",
|
||||||
|
* default="UBA",
|
||||||
|
* description="Nom de la banque"
|
||||||
|
* ),
|
||||||
|
* @OA\Property(property="country",
|
||||||
|
* type="string",
|
||||||
|
* default="Cameroon",
|
||||||
|
* description="Pays où la transaction été éfféctuée"
|
||||||
|
* ),
|
||||||
|
* @OA\Property(property="montant",
|
||||||
|
* type="number",
|
||||||
|
* example = 10000,
|
||||||
|
* description="Montant de la transaction"
|
||||||
|
* ),
|
||||||
|
* @OA\Property(property="frais",
|
||||||
|
* type="number",
|
||||||
|
* example = 100,
|
||||||
|
* description="Montant des frais de la transaction"
|
||||||
|
* ),
|
||||||
|
* @OA\Property(property="taxe",
|
||||||
|
* type="number",
|
||||||
|
* example = 50,
|
||||||
|
* description="Montant des taxes de la transaction"
|
||||||
|
* ),
|
||||||
|
* @OA\Property(property="commission_hyp",
|
||||||
|
* type="number",
|
||||||
|
* example = 25,
|
||||||
|
* description="Montant de la commission de l'hyperviseur du réseau sur la transaction"
|
||||||
|
* ),
|
||||||
|
* @OA\Property(property="commission_banque",
|
||||||
|
* type="number",
|
||||||
|
* example = 25,
|
||||||
|
* description="Montant de la commission de la banque sur le réseau sur la transaction"
|
||||||
|
* ),
|
||||||
|
* @OA\Property(property="date",
|
||||||
|
* type="string",
|
||||||
|
* example = "2020-11-30T08:57:57.000000Z",
|
||||||
|
* description="Date à laquelle la transaction a été éffectuée"
|
||||||
|
* )
|
||||||
|
* )
|
||||||
|
*/
|
||||||
case 4: //User - Envoi de wallet à banque
|
case 4: //User - Envoi de wallet à banque
|
||||||
|
|
||||||
$this->validate($request, [
|
$this->validate($request, [
|
||||||
|
@ -558,8 +638,8 @@ class iLinkTransactionController extends Controller
|
||||||
$transaction->date = new \DateTime();
|
$transaction->date = new \DateTime();
|
||||||
$transaction->bank = $user->bank->operators_country->operator->nom;
|
$transaction->bank = $user->bank->operators_country->operator->nom;
|
||||||
$transaction->country = $user->bank->network->country->name;
|
$transaction->country = $user->bank->network->country->name;
|
||||||
$transaction->id_bank = $request->id_bank;
|
$transaction->id_bank = $user->id_bank_country;
|
||||||
$transaction->iban = $request->iban;
|
$transaction->iban = $user->iban;
|
||||||
$transaction->date = $this->getCurrentTime($init_country);
|
$transaction->date = $this->getCurrentTime($init_country);
|
||||||
// $walletUser->save();
|
// $walletUser->save();
|
||||||
$transaction->id_transaction = $this->getTransactionID();
|
$transaction->id_transaction = $this->getTransactionID();
|
||||||
|
@ -1281,6 +1361,95 @@ class iLinkTransactionController extends Controller
|
||||||
* )
|
* )
|
||||||
* )
|
* )
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @OA\Schema(
|
||||||
|
* schema="agent_send_from_cash_to_bank_frame",
|
||||||
|
* title="Agent - Envoi de cash vers banque - Trame envoyé",
|
||||||
|
* @OA\Property(property="type",
|
||||||
|
* type="integer",
|
||||||
|
* default = 18,
|
||||||
|
* description="Type de la transaction"
|
||||||
|
* ),
|
||||||
|
* @OA\Property(property="id_wallet_user",
|
||||||
|
* type="integer",
|
||||||
|
* example=9,
|
||||||
|
* description="ID du wallet de l'agent enregistré dans la base de données"
|
||||||
|
* ),
|
||||||
|
* @OA\Property(property="id_wallet_network",
|
||||||
|
* type="integer",
|
||||||
|
* example=101,
|
||||||
|
* description="ID du reseau enregistré dans la base de données auquel appartient le wallet"
|
||||||
|
* ),
|
||||||
|
* @OA\Property(property="iban",
|
||||||
|
* type="string",
|
||||||
|
* description="Identifiant bancaire"
|
||||||
|
* ),
|
||||||
|
* @OA\Property(property="id_bank",
|
||||||
|
* type="integer",
|
||||||
|
* example=4,
|
||||||
|
* description="ID de la banque enregistré dans la base de données"
|
||||||
|
* ),
|
||||||
|
* @OA\Property(property="nom_emetteur",
|
||||||
|
* type="string",
|
||||||
|
* description="Noms de l'emetteur"
|
||||||
|
* ),
|
||||||
|
* @OA\Property(property="prenom_emetteur",
|
||||||
|
* type="string",
|
||||||
|
* description="Prenoms de l'emetteur"
|
||||||
|
* ),
|
||||||
|
* @OA\Property(property="email_emetteur",
|
||||||
|
* type="string",
|
||||||
|
* description="Email de l'emetteur"
|
||||||
|
* ),
|
||||||
|
* @OA\Property(property="type_document_emetteur",
|
||||||
|
* type="string",
|
||||||
|
* description="Type de document que l'emetteur a fourni pour son identification"
|
||||||
|
* ),
|
||||||
|
* @OA\Property(property="id_document_emetteur",
|
||||||
|
* type="string",
|
||||||
|
* description="ID de l'emetteur sur le document qu'il a fourni pour son identification"
|
||||||
|
* ),
|
||||||
|
* @OA\Property(property="nom_destinataire",
|
||||||
|
* type="string",
|
||||||
|
* description="Noms du destinataire"
|
||||||
|
* ),
|
||||||
|
* @OA\Property(property="prenom_destinataire",
|
||||||
|
* type="string",
|
||||||
|
* description="Prenoms du destinataire"
|
||||||
|
* ),
|
||||||
|
* @OA\Property(property="montant",
|
||||||
|
* type="number",
|
||||||
|
* example = 10000,
|
||||||
|
* description="Montant de la transaction"
|
||||||
|
* ),
|
||||||
|
* @OA\Property(property="frais",
|
||||||
|
* type="number",
|
||||||
|
* example = 100,
|
||||||
|
* description="Montant des frais de la transaction"
|
||||||
|
* ),
|
||||||
|
* @OA\Property(property="taxe",
|
||||||
|
* type="number",
|
||||||
|
* example = 50,
|
||||||
|
* description="Montant des taxes de la transaction"
|
||||||
|
* ),
|
||||||
|
* @OA\Property(property="commission_hyp",
|
||||||
|
* type="number",
|
||||||
|
* example = 25,
|
||||||
|
* description="Montant de la commission de l'hyperviseur du réseau sur la transaction"
|
||||||
|
* ),
|
||||||
|
* @OA\Property(property="commission_sup",
|
||||||
|
* type="number",
|
||||||
|
* example = 25,
|
||||||
|
* description="Montant de la commission du superviseur de l'agent du réseau sur la transaction"
|
||||||
|
* ),
|
||||||
|
* @OA\Property(property="commission_ag",
|
||||||
|
* type="number",
|
||||||
|
* example = 25,
|
||||||
|
* description="Montant de la commission de l'agent géolocalisé sur la transaction"
|
||||||
|
* ),
|
||||||
|
* )
|
||||||
|
*/
|
||||||
case 18: // Agent - Envoi de cash vers banque
|
case 18: // Agent - Envoi de cash vers banque
|
||||||
$this->validate($request, [
|
$this->validate($request, [
|
||||||
'iban' => 'required',
|
'iban' => 'required',
|
||||||
|
@ -1328,6 +1497,8 @@ class iLinkTransactionController extends Controller
|
||||||
$transaction->commission_banque = 0;
|
$transaction->commission_banque = 0;
|
||||||
|
|
||||||
$transaction->commission_hyp = 0;
|
$transaction->commission_hyp = 0;
|
||||||
|
$transaction->commission_sup = 0;
|
||||||
|
$transaction->commission_ag = 0;
|
||||||
|
|
||||||
$transaction->id_wallet_hyp = $walletHyperviseur->id;
|
$transaction->id_wallet_hyp = $walletHyperviseur->id;
|
||||||
$transaction->id_wallet_ag = $walletAgent->id;
|
$transaction->id_wallet_ag = $walletAgent->id;
|
||||||
|
@ -1356,7 +1527,7 @@ class iLinkTransactionController extends Controller
|
||||||
/**
|
/**
|
||||||
* @OA\Schema(
|
* @OA\Schema(
|
||||||
* schema="user_payement_of_operator",
|
* schema="user_payement_of_operator",
|
||||||
* title = "User - Payer un operateur",
|
* title = "User - Payer une facture chez un operateur",
|
||||||
* @OA\Property(property="type",
|
* @OA\Property(property="type",
|
||||||
* type="integer",
|
* type="integer",
|
||||||
* enum = {19},
|
* enum = {19},
|
||||||
|
@ -1399,6 +1570,84 @@ class iLinkTransactionController extends Controller
|
||||||
* )
|
* )
|
||||||
* )
|
* )
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @OA\Schema(
|
||||||
|
* schema="user_payement_of_operator_frame",
|
||||||
|
* title = "User - Payer une facture chez un operateur - Trame envoyé",
|
||||||
|
*
|
||||||
|
* @OA\Property(property="id_transaction",
|
||||||
|
* type="string",
|
||||||
|
* example = "PYHL8CCZYPCM",
|
||||||
|
* description="ID de la transaction généré dans la base de données"
|
||||||
|
* ),
|
||||||
|
* @OA\Property(property="type",
|
||||||
|
* type="integer",
|
||||||
|
* default = 19,
|
||||||
|
* description="Type de la transaction"
|
||||||
|
* ),
|
||||||
|
* @OA\Property(property="id_wallet_user",
|
||||||
|
* type="integer",
|
||||||
|
* example=9,
|
||||||
|
* description="ID du wallet de l'utilisateur enregistré dans la base de données"
|
||||||
|
* ),
|
||||||
|
* @OA\Property(property="network_emetteur",
|
||||||
|
* type="integer",
|
||||||
|
* example=101,
|
||||||
|
* description="ID du reseau enregistré dans la base de données auquel appartient le wallet"
|
||||||
|
* ),
|
||||||
|
* @OA\Property(property="country",
|
||||||
|
* type="string",
|
||||||
|
* example ="Cameroon",
|
||||||
|
* description="Pays où la transaction été éfféctuée"
|
||||||
|
* ),
|
||||||
|
* @OA\Property(property="no_facture",
|
||||||
|
* type="string",
|
||||||
|
* example ="ENEO1425533",
|
||||||
|
* description="Numero de la facture"
|
||||||
|
* ),
|
||||||
|
* @OA\Property(property="operator",
|
||||||
|
* type="string",
|
||||||
|
* default="ENEO",
|
||||||
|
* description="Nom de l'operateur"
|
||||||
|
* ),
|
||||||
|
* @OA\Property(property="type_operator",
|
||||||
|
* type="string",
|
||||||
|
* default="Opérateur d'électricité",
|
||||||
|
* description="Type d'operateur"
|
||||||
|
* ),
|
||||||
|
* @OA\Property(property="id_operator",
|
||||||
|
* type="integer",
|
||||||
|
* example = 16,
|
||||||
|
* description="ID de l'operateur"
|
||||||
|
* ),
|
||||||
|
* @OA\Property(property="montant",
|
||||||
|
* type="number",
|
||||||
|
* example = 10000,
|
||||||
|
* description="Montant de la transaction"
|
||||||
|
* ),
|
||||||
|
* @OA\Property(property="frais",
|
||||||
|
* type="number",
|
||||||
|
* example = 100,
|
||||||
|
* description="Montant des frais de la transaction"
|
||||||
|
* ),
|
||||||
|
* @OA\Property(property="taxe",
|
||||||
|
* type="number",
|
||||||
|
* example = 50,
|
||||||
|
* description="Montant des taxes de la transaction"
|
||||||
|
* ),
|
||||||
|
* @OA\Property(property="commission_hyp",
|
||||||
|
* type="number",
|
||||||
|
* example = 25,
|
||||||
|
* description="Montant de la commission de l'hyperviseur du réseau sur la transaction"
|
||||||
|
* ),
|
||||||
|
* @OA\Property(property="date",
|
||||||
|
* type="string",
|
||||||
|
* example = "2020-11-30T08:57:57.000000Z",
|
||||||
|
* description="Date à laquelle la transaction a été éffectuée"
|
||||||
|
* )
|
||||||
|
* )
|
||||||
|
*/
|
||||||
case 19: // User - Payer un operateur
|
case 19: // User - Payer un operateur
|
||||||
$this->validate($request, [
|
$this->validate($request, [
|
||||||
'id_operator' => 'required|integer|min:0|not_in:0',
|
'id_operator' => 'required|integer|min:0|not_in:0',
|
||||||
|
@ -1429,7 +1678,6 @@ class iLinkTransactionController extends Controller
|
||||||
$transaction->taxe = $taxe = 0;
|
$transaction->taxe = $taxe = 0;
|
||||||
// $walletUser->balance -= $transaction->montant;
|
// $walletUser->balance -= $transaction->montant;
|
||||||
//Emettre une trame SSL pour recharger l'api de l'operateur du montant de la transaction
|
//Emettre une trame SSL pour recharger l'api de l'operateur du montant de la transaction
|
||||||
$transaction->commission_banque = 0;
|
|
||||||
|
|
||||||
$transaction->commission_hyp = 0;
|
$transaction->commission_hyp = 0;
|
||||||
|
|
||||||
|
@ -1483,6 +1731,78 @@ class iLinkTransactionController extends Controller
|
||||||
* )
|
* )
|
||||||
* )
|
* )
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @OA\Schema(
|
||||||
|
* schema="user_remove_from_bank_to_wallet_frame",
|
||||||
|
* title="User - Retrait de la banque vers le wallet - Trame envoyé ",
|
||||||
|
* @OA\Property(property="type",
|
||||||
|
* type="integer",
|
||||||
|
* default = 20,
|
||||||
|
* description="Type de la transaction"
|
||||||
|
* ),
|
||||||
|
* @OA\Property(property="id_wallet_user",
|
||||||
|
* type="integer",
|
||||||
|
* example=9,
|
||||||
|
* description="ID du wallet de l'utilisateur enregistré dans la base de données"
|
||||||
|
* ),
|
||||||
|
* @OA\Property(property="network_emetteur",
|
||||||
|
* type="integer",
|
||||||
|
* example=101,
|
||||||
|
* description="ID du reseau enregistré dans la base de données auquel appartient le wallet"
|
||||||
|
* ),
|
||||||
|
* @OA\Property(property="iban",
|
||||||
|
* type="string",
|
||||||
|
* example = "CM15UBAA412341234123412341233",
|
||||||
|
* description="ID bancaire de l'utilisateur"
|
||||||
|
* ),
|
||||||
|
* @OA\Property(property="id_bank",
|
||||||
|
* type="integer",
|
||||||
|
* example = 16,
|
||||||
|
* description="ID de la banque dans la base de données"
|
||||||
|
* ),
|
||||||
|
* @OA\Property(property="bank",
|
||||||
|
* type="string",
|
||||||
|
* default="UBA",
|
||||||
|
* description="Nom de la banque"
|
||||||
|
* ),
|
||||||
|
* @OA\Property(property="country",
|
||||||
|
* type="string",
|
||||||
|
* default="Cameroon",
|
||||||
|
* description="Pays où la transaction été éfféctuée"
|
||||||
|
* ),
|
||||||
|
* @OA\Property(property="montant",
|
||||||
|
* type="number",
|
||||||
|
* example = 10000,
|
||||||
|
* description="Montant de la transaction"
|
||||||
|
* ),
|
||||||
|
* @OA\Property(property="frais",
|
||||||
|
* type="number",
|
||||||
|
* example = 100,
|
||||||
|
* description="Montant des frais de la transaction"
|
||||||
|
* ),
|
||||||
|
* @OA\Property(property="taxe",
|
||||||
|
* type="number",
|
||||||
|
* example = 50,
|
||||||
|
* description="Montant des taxes de la transaction"
|
||||||
|
* ),
|
||||||
|
* @OA\Property(property="commission_hyp",
|
||||||
|
* type="number",
|
||||||
|
* example = 25,
|
||||||
|
* description="Montant de la commission de l'hyperviseur du réseau sur la transaction"
|
||||||
|
* ),
|
||||||
|
* @OA\Property(property="commission_banque",
|
||||||
|
* type="number",
|
||||||
|
* example = 25,
|
||||||
|
* description="Montant de la commission de la banque sur le réseau sur la transaction"
|
||||||
|
* ),
|
||||||
|
* @OA\Property(property="date",
|
||||||
|
* type="string",
|
||||||
|
* example = "2020-11-30T08:57:57.000000Z",
|
||||||
|
* description="Date à laquelle la transaction a été éffectuée"
|
||||||
|
* )
|
||||||
|
* )
|
||||||
|
*/
|
||||||
case 20: //User - Retrait de la banque vers le wallet
|
case 20: //User - Retrait de la banque vers le wallet
|
||||||
|
|
||||||
// $this->validate($request, [
|
// $this->validate($request, [
|
||||||
|
@ -1501,7 +1821,7 @@ class iLinkTransactionController extends Controller
|
||||||
return $this->errorResponse(trans('errors.wallet_not_linked_to_bank_account'));
|
return $this->errorResponse(trans('errors.wallet_not_linked_to_bank_account'));
|
||||||
|
|
||||||
//Reverifier si l'operateur est toujours associé au reseau
|
//Reverifier si l'operateur est toujours associé au reseau
|
||||||
$network_bank = NetworksOperator::where('id_network', $request->id_wallet_network)->where('id_operator_country', $user->id_bank_country)->first();
|
$network_bank = NetworksOperator::where('id_network', $transaction->network_emetteur)->where('id_operator_country', $user->id_bank_country)->first();
|
||||||
if (!$network_bank)
|
if (!$network_bank)
|
||||||
return $this->errorResponse(trans('errors.operator_not_associated_with_network') . '. ' . trans('errors.update_banking_information'));
|
return $this->errorResponse(trans('errors.operator_not_associated_with_network') . '. ' . trans('errors.update_banking_information'));
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue