WebAPI - Como obter as ferramentas a que um funcionário tem acesso?

WebAPI - Como obter as ferramentas a que um funcionário tem acesso?

O método devolve a lista de ferramentase o seu nível de acesso ao qual o funcionário tem permissão.

O método a utilizar para obter a lista de ferramentas e o seu nível de acesso ao qual o funcionário tem permissões é:
GET
 /api/mytenant/myorganization/settings/assetsByUsers/getToolsByUser?username=user@domain.com&modifiedOn=2020-11-20T09:55:33.396836+00:00&maxRecords=100&company=DEMO

Os parâmetros do método são opcionais. Se o parâmetro maxRecords não for especificado, devolve no máximo 100 registos.Se o parâmetro company não for especificado, devolve os elementos da primeira empresa criada. A lógica é a seguinte:
  1. username: devolve todas as ferramentas ao qual este funcionário tem acesso, este parâmetro deve ser o email do funcionário.
  2. modifiedOn: devolve todas as ferramentas que foram alteradas com data superior à data inserida.
  3. maxRecords: este parâmtros é utilizado para colocar um limite de dados a obter. Este parâmetro deve ser um valor inteiro, igual ou inferior a 100.
  4. company: devolve as localizações ao que o funcionário tem acesso da empresa. Este parâmetro deve ser a chave da empresa
O servidor devolve uma resposta HttpStatusCode.OK, com a lista das ferramentas e os seus níveis de acesso, por empresa.

A estrutura de dados do método é a seguinte:
  1. "accessLevels": [
    {
      "accessLevelId": "c1474504-aa6c-4a5c-b9c8-fa302195e3c7",
      "accessLevel": "G", 
      "acessLevelModifiedOn":"2020-11-20T09:55:33.396836+00:00"
    }
    ],
    "equipmentKey": "MCH01",
    "description": "Machine #1",
    "id": "4133d120-7339-44b5-bafc-aad754f35f49",
    "isActive": true,
    "modifiedOn": "2020-11-20T09:55:33.396836+00:00",
    "isUpTime": true,
    "criticality": 000002,
    "barcode": null,
    "locationDesc": "Production Line #1",
    "location": "PROD01",
    "serial": "IU786TGFDE58",
    "responsible": 0001,
    "brandDesc": "ASPECTTO",
    "brand": "ASPECTTO",
    "brandModelDesc": "TU4528",
    "brandModel": "TU4528",
    "familyDesc": Machine,
    "family": 0001,
    "parentEquipment": null,
    "parentEquipmentDesc": null,
  2. "externalReferencID": null,
    "picture": "null",
    "pictureThumbnail": null,
    "remarks": null,
    "keyword": "Hand Drill",
    "exchangeRateDate": "0001-01-01T00:00:00",
    "exchangeRate": 0.0,
    "baseCurrency": null,
    "company": "Demonstration Company",
    "isDisposed": false,
    "currency": "British pound",
    "reportingCurrency": null
    }
No parâmetro modifiedOn será necessário ter atenção com o encoding do html, o "+" é substituído por "%2b".
Caso a data inserida no parâmetro de pesquisa "modifiedOn" seja superior ou igual à data "acessLevelModifiedOn", a mesma apresentará um valor "0001-01-01T00:00:00+00:00".