Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Bloco de código
languagecpp
titleFunção de Parametrização com Json
User function flexibleParamsProvider(jParams) 

  local jClientejClientParams := {;JSonObject():new()
  local cStringToJson := '{"client":[{"client_id" : "7LpPC0r3","client_id , ; // string
secret": "TlPp#S3cre7@"}],'+;
                         "client_secret" : cliente_secret,; // string
'"expires":[{"access_expires": 3600,"refresh_expires": "Date()+1"}],'+;
      "username" : cliente_oAuth2_user ,; // string
    "password" : cliente_oAuth2_password  ,; // string
    "grant_type" '"users":[{"username": "7LpPC0r3o@u7h2","password": "passwordP@s5w0rD&7LpPC0r3"},'+; //string este conteúdo deve ser fixo por enquanto

                            '{"access_expiresusername": "tlppCore","password": 3600,; //integer tempo em milissegundos
"Senha1234"},'+;
           "refresh_expires" : Date() + 1,;// ou para o caso de data fixa, o formato deve ser string de data '{"username": "Pr0ba7","password": "2021/12/31"Senh@D3T3ste"}],'+;
    "JWTRoutes" : {}; //parametro opcional momentâneamente.
    }

                      '"types": [{"grant_type":"password"}]}';
                       //obtendo as propriedades da variável JSon criadas acima para poder popular o objeto nativo jParams que é passado por referencia.  
  local aProps := jCliente:GetNames()


  //Adicionando as propriedades não existentes no objeto nativo jParams
  //Aqui deve-se ficar atento para que todas as propriedades tenham os seus valores carregados, mesmo quando não estejam presentes no objeto recebido(jParams).

  aEval(aProps,{|x,y| iIf(!(jParams:hasProperty(x)), jParams[x] := jCliente[x],'')})
  
 Return

...