Skip to content

Endpoint-uri prod-only #55

@andumy

Description

@andumy

Hello, exista o serie de endpoints care sunt disponibile doar in productie. In implementarea actuala daca creezi o instanta de stage, te lasa sa dai in ele, dar iti returneaza 404.

Exemplu

Anaf::factory()
    ->staging()
    ->withBaseUri(...)
    ->withApiKey(...)
    ->make()
   ->efactura()
   ->validateXml(...); // O sa returneze mereu 404 pentru ca o sa apeleze `test/FCTEL/rest/validare/{$standard}` desi nu exista endpoint-ul in test

Vad 2 solutii:

  1. Daca instanta e de stage, se arunca o exceptie cu EndpointNotAvailableOnStage sau ceva asemanator. Nu sunt mare fan aici pentru ca nu e SOLID complient
  2. Ce am facut in PR. Endpoint-urile care sunt disponibile doar in prod, seteaza un flag pe Payload care previne str_replace. Asa ca acum chiar daca ai o instanta de stage, poti sa dai in endpointurile respective. In mod normal pare sketchy, dar avand in vedere ca sunt endpoint-uri functionale (xmlToPdf si validate), si ca ANAF oricum nu pare sa fi gandit un sistem independent pentru testare (autentificarea se face tot cu oauth-ul de prod), pare o solutie mai robusta decat ce este acum.

#54

*Nota: M-am rupt din celalalt PR ca sa nu mai apara conflicte la merge dupa. Pt schimbarile punctuale din PR-ul asta vezi aici

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions