Code Monkey home page Code Monkey logo

auth-management-ui's People

Contributors

chicco785 avatar dependabot[bot] avatar valecant avatar

Watchers

 avatar

auth-management-ui's Issues

When resource type is entity, use orion context broker to list values for resources.

Is your feature request related to a problem? Please describe.

Based on #94 when a resource type is selected for which an endpoint is defined (in this case resource type entity)
transform the field resource in a selector that picks values from the defined endpoint (plus * and Default).

The query to retrieve entity ids from orion is:

curl --location --request GET 'localhost:1026/v2/entities?attrs=id&orderBy=id' \
--header 'fiware-Service: Tenant1' \
--header 'fiware-ServicePath: /'

Of course for fiware-service and service path you should pass the same values as the ones picked for the policy.
The api also allows for pagination (maybe useful when many values), using limit and offset:

curl --location --request GET 'localhost:1026/v2/entities?attrs=id&orderBy=id&limit=1&offset=0' \
--header 'fiware-Service: Tenant1' \
--header 'fiware-ServicePath: /'

To know the exact numbers of available ids, you can use:

curl --location --request GET 'localhost:1026/v2/entities?attrs=id&orderBy=id&limit=1&offset=0&options=count' \
--header 'fiware-Service: Tenant1' \
--header 'fiware-ServicePath: /'

You will receive a response header Fiware-Total-Count.

More info are available here: https://fiware.github.io/specifications/ngsiv2/stable/

See anubis docker-compose` to add orion to your testing stack.

delete entities

  • straight call to Context Broker to delete the entity
  • out of scope
    • deleting of any subscriptions related to the entity to delete
    • deleting historical data for that entity in Quantum Leap

font size for actor column

Describe the bug

It seems that all the columns have the same font size but Actor

image

To Reproduce

Go to the policy view.

Expected behavior

All columns should have the same font size.

Environment (please complete the following information):

  • OS: MacOS
  • Browser: Chrome

Additional context
N/A

Support resource_type definition in Configuration api

Is your feature request related to a problem? Please describe.

Support resource_type definition in Configuration api

Describe the solution you'd like

  • define in the configuration api an endpoint that allows super admins to configure
    resource_type and the corresponding endpoint to retrieve their values from.
  • create a page to edit the endpoint values
  • leverage the defined data in the definition of policies in the ui: pick resource type from the configuration api as a list (plus allow the usage of
    free text) - something like this. (so replacing the pure free text we have now).

Describe alternatives you've considered

enter values manually every time as now

Additional context

N/A

fix content in public folder (if the folder is needed)

The folder includes default naming for the app that needs proper configuration, e.g.:

content="Web site created using create-react-app"

https://github.com/orchestracities/auth-management-ui/blob/master/public/index.html#L27

"short_name": "React App",

"name": "Create React App Sample",

if the folder is not relevant, remove it

remove edit from service path

Describe the bug
The API does not support the edit of service paths, so the ui should not as well.

The rational for not supporting the edit it's very important:

  • a servicePath is attached to data (and in a different api), so changing it will not affect the apis where the data are stored.
  • in practise this means that if change a path from /a to /b:
    • if i try to access data in /a, i will get a reject policy wise (/a does not exist anymore)
    • if i try to access data in /b, i will get a not found (data are still with service path /b)

form validation

Is your feature request related to a problem? Please describe.

Forms does not guide users in understanding which fields are compulsory and which not.

Describe the solution you'd like

Best option is when users tries to submit without filling in al required fields, to highlight it in the interface.

update test to node.js 16 since 12 will be deprecated in github actions

Is your feature request related to a problem? Please describe.

configuration-api
Node.js 12 actions are deprecated. For more information see: https://github.blog/changelog/2022-09-22-github-actions-all-actions-will-begin-running-on-node16-instead-of-node12/. Please update the following actions to use Node.js 16: actions/checkout, docker/metadata-action, docker/setup-qemu-action, docker/setup-buildx-action, docker/build-push-action, docker/build-push-action, docker/setup-buildx-action, actions/checkout

if token too long on the policies an error 500 is returned

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:

  1. Send this payload to '...'
  2. See error

Expected behavior
A clear and concise description of what you expected to happen.

Environment (please complete the following information):

  • OS: [e.g. iOS]
  • Browser [e.g. chrome, safari]
  • Version [e.g. 22]

Additional context
Add any other context about the problem here.

when a tenant is deleted its configuration is not deleted as well

Describe the bug
When a tenant with the same as a previously deleted tenant is created, the creation fails due to the old configuration not being deleted as well:
E11000 duplicate key error collection: graphql.tenantconfigs index: name_1 dup key: { name: "NewTenant" } the config

To Reproduce
Steps to reproduce the behavior:

  1. Create a tenant with some configuration.
  2. Delete the tenant.
  3. Re-create the tenant with the same name.

Expected behavior

Re-creation don't fail.

surface api communication errors to the interface

Is your feature request related to a problem? Please describe.

When something goes wrong with in the communication with the API, the only way to realise this is checking logs.

Describe the solution you'd like

Create a message in the interface.

a tenant must be selected by default

this was discussed quite some time ago:

  1. it's still not implemented
  2. there is not ticket to trace the requirement

ideally, "which" tenant should be the first one if not previous selection, the latest selected if it was previously selected (cookies can be used)

path levels

give to the user the possibility to create N levels on the path.

on the form the user will choose the level and then on the subpath section will be possibile to choose the level with a filter

select users / groups / roles from keycloak api

Is your feature request related to a problem? Please describe.

I'm always frustrated when I have to manually insert usernames / groups / roles manually, instead of filtering them directly from keycloak api.

Describe the solution you'd like

A call to the keycloak admin api to retrieve the data required.

Describe alternatives you've considered

Go on inserting data manually.

Additional context

Here are some api calls that can be used:

list all subgroups of a tenant:

curl 'http://localhost:8080/admin/realms/default/groups/${tenantId}?briefRepresentation=false' \
  -H 'Accept: application/json, text/plain, */*' \
  -H 'Authorization: bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJlWDZMRWRVM0djTkg4VzNRYzlNc2I2SVp6RF9HenFrdk93MGh4MXNrS0g4In0.eyJleHAiOjE2NjMzMjI1NzgsImlhdCI6MTY2MzMyMjUxOCwiYXV0aF90aW1lIjoxNjYzMzIyMjU0LCJqdGkiOiIwMGFmNGJlNy0wZThhLTQwNDUtYjVmOC1lYWQ5NWFjZDY0OGUiLCJpc3MiOiJodHRwOi8vbG9jYWxob3N0OjgwODAvcmVhbG1zL21hc3RlciIsInN1YiI6ImQzZmViMjJmLTY5MjUtNDA2ZC1iNTdmLTZlMDBjOWQzYTFlMiIsInR5cCI6IkJlYXJlciIsImF6cCI6InNlY3VyaXR5LWFkbWluLWNvbnNvbGUiLCJub25jZSI6ImFmNjBiM2NkLWU2MmYtNDhjYi1iNTdhLTczNjFlNzVhN2YwOCIsInNlc3Npb25fc3RhdGUiOiJmMTA0YWU4Ny1jMzc1LTQyNmMtODZmNy02MGMwMGZkMGIxYjUiLCJhY3IiOiIwIiwiYWxsb3dlZC1vcmlnaW5zIjpbImh0dHA6Ly9sb2NhbGhvc3Q6ODA4MCJdLCJzY29wZSI6Im9wZW5pZCBwcm9maWxlIGVtYWlsIiwic2lkIjoiZjEwNGFlODctYzM3NS00MjZjLTg2ZjctNjBjMDBmZDBiMWI1IiwiZW1haWxfdmVyaWZpZWQiOmZhbHNlLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJhZG1pbiJ9.TIaG-NzUPKFLSe9-jhar_eoP5d3cflZbB_aMXtQtfz3noHItslMO5X3K17vsQYq147zfF3ewGKd3oFbY-D8fk9OG-RM1bDu0uWL1sRbipwfCWJDBdTS45li1BgYiwgOWnuamvE0iFGZc7_5ET8dXQu-AnYYQx-6lUFu3eBcmNPw69WHuq6E9etYcr2zTG7nfoP1J504LLYY0i2YPIauk4si303M6HiATNzKtodOkvLGnTHkSGc094EkOkU_Fj-1pbHWoDz573dInWdqbV5FA1Asu2h103k7A0t8zzHDb2wiGJIZA_XaHcLK6mPZ8kPNGjwaeW7MOq3VIu4u5VJMRIw' \
  -H 'Cache-Control: no-cache' \
  -H 'Connection: keep-alive' \
  --compressed

list clients:

curl 'http://localhost:8080/admin/realms/default/clients?first=0&max=11' \
  -H 'Accept: application/json, text/plain, */*' \
  -H 'Accept-Language: en-US,en;q=0.9' \
  -H 'Authorization: bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJlWDZMRWRVM0djTkg4VzNRYzlNc2I2SVp6RF9HenFrdk93MGh4MXNrS0g4In0.eyJleHAiOjE2NjMzMjM5ODksImlhdCI6MTY2MzMyMzkyOSwiYXV0aF90aW1lIjoxNjYzMzIyMjU0LCJqdGkiOiI0N2RlMzlmNS0xOWZkLTRiYmYtODExNy0zY2I5MWJhZWM4ZWEiLCJpc3MiOiJodHRwOi8vbG9jYWxob3N0OjgwODAvcmVhbG1zL21hc3RlciIsInN1YiI6ImQzZmViMjJmLTY5MjUtNDA2ZC1iNTdmLTZlMDBjOWQzYTFlMiIsInR5cCI6IkJlYXJlciIsImF6cCI6InNlY3VyaXR5LWFkbWluLWNvbnNvbGUiLCJub25jZSI6ImU5OWRmMDY5LTc1NWMtNDc4Yy05YTA4LWY3ZTVhNzk2ZGQzNSIsInNlc3Npb25fc3RhdGUiOiJmMTA0YWU4Ny1jMzc1LTQyNmMtODZmNy02MGMwMGZkMGIxYjUiLCJhY3IiOiIwIiwiYWxsb3dlZC1vcmlnaW5zIjpbImh0dHA6Ly9sb2NhbGhvc3Q6ODA4MCJdLCJzY29wZSI6Im9wZW5pZCBwcm9maWxlIGVtYWlsIiwic2lkIjoiZjEwNGFlODctYzM3NS00MjZjLTg2ZjctNjBjMDBmZDBiMWI1IiwiZW1haWxfdmVyaWZpZWQiOmZhbHNlLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJhZG1pbiJ9.XM-7hi-GtNxvR49AnB_yuPJ1GaZWOPPeu6Eg5bFsKtzxv87KZ24_AigfRMjgjo6PSnz7FiLKfKTuMEPol5rL1081u6t_BgugII9Ts0MS4gALCErFl-131OQzdf9BH78XYj2KLoFuiUynK4Md55xLy1G0_9_vj6FnRzAvgFs5ztoDCRn3InM5ULkQ9mVdgSdwa-SVLGI9YFkoYLUBRbGmtd42lLlnIV_leOdW3nT930c0sFC2b5CrMjHMsEDSMTqpq1XrTk3yjKvlHo7OspgW9OidKDTvQlA838NYhemnZoveDX-rlTfOC2lyG4kAo5yK9dBOlYQ2OdWekEp-ksO1Nw' \
  -H 'Cache-Control: no-cache' \
  -H 'Connection: keep-alive' \
  -H 'Cookie: NG_TRANSLATE_LANG_KEY=en; PGADMIN_LANGUAGE=en; frontend_lang=en_US; cids=1; fileToken=dummy-because-api-expects-one; tz=Europe/Zurich; session_id=a279d42544d96684f3e853a2e86aa4676278f52c; grafana_session=c4446eb52f221f04416f2f3ad75bdeb2' \
  -H 'Pragma: no-cache' \
  -H 'Sec-Fetch-Dest: empty' \
  -H 'Sec-Fetch-Mode: cors' \
  -H 'Sec-Fetch-Site: same-origin' \
  -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36' \
  -H 'sec-ch-ua: "Google Chrome";v="105", "Not)A;Brand";v="8", "Chromium";v="105"' \
  -H 'sec-ch-ua-mobile: ?0' \
  -H 'sec-ch-ua-platform: "macOS"' \
  --compressed

list all roles in a client:

curl 'http://localhost:8080/admin/realms/default/clients/a78b7d3b-4c70-4bf4-949b-d5237fb987f3/roles' \
  -H 'Accept: application/json, text/plain, */*' \
  -H 'Accept-Language: en-US,en;q=0.9' \
  -H 'Authorization: bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJlWDZMRWRVM0djTkg4VzNRYzlNc2I2SVp6RF9HenFrdk93MGh4MXNrS0g4In0.eyJleHAiOjE2NjMzMjQwODksImlhdCI6MTY2MzMyNDAyOSwiYXV0aF90aW1lIjoxNjYzMzIyMjU0LCJqdGkiOiIwZmQ4ODc2NS04NzNiLTQxNWMtYjNhMS1kNWY2OTFkOGViMzMiLCJpc3MiOiJodHRwOi8vbG9jYWxob3N0OjgwODAvcmVhbG1zL21hc3RlciIsInN1YiI6ImQzZmViMjJmLTY5MjUtNDA2ZC1iNTdmLTZlMDBjOWQzYTFlMiIsInR5cCI6IkJlYXJlciIsImF6cCI6InNlY3VyaXR5LWFkbWluLWNvbnNvbGUiLCJub25jZSI6ImU5OWRmMDY5LTc1NWMtNDc4Yy05YTA4LWY3ZTVhNzk2ZGQzNSIsInNlc3Npb25fc3RhdGUiOiJmMTA0YWU4Ny1jMzc1LTQyNmMtODZmNy02MGMwMGZkMGIxYjUiLCJhY3IiOiIwIiwiYWxsb3dlZC1vcmlnaW5zIjpbImh0dHA6Ly9sb2NhbGhvc3Q6ODA4MCJdLCJzY29wZSI6Im9wZW5pZCBwcm9maWxlIGVtYWlsIiwic2lkIjoiZjEwNGFlODctYzM3NS00MjZjLTg2ZjctNjBjMDBmZDBiMWI1IiwiZW1haWxfdmVyaWZpZWQiOmZhbHNlLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJhZG1pbiJ9.hFnSx_PKzspOjs9iDRol8hjdVIBITs6tSnYWjUzWjV-kisbVFl-WlktG-6bGPBYLZ566rhOn5MG8iKzepmg9e3Iwv_bpkInLDysA6J1Jfwk9cyUyctDcN_z_xJhPuleExcTeZsmyP-6UF_A_O1YGUAGN71GfgKiPG554vYumep3BktFgQp0ds1FOzl_wkCfNB0MPB78qgN4TLXii8o66KMwriol16Z6pg7h99xH6MVpvKCdke6sn-8iJ7JhAeCsXLpdYSYgvN1FN7qgRmXYEAsAFvVoHvEJrQfFgRSsimbu7N399Pc2C39ThpfRKHZFu0ggDiw99l4ildquxV0zxtw' \
  -H 'Cache-Control: no-cache' \
  -H 'Connection: keep-alive' \
  -H 'Cookie: NG_TRANSLATE_LANG_KEY=en; PGADMIN_LANGUAGE=en; frontend_lang=en_US; cids=1; fileToken=dummy-because-api-expects-one; tz=Europe/Zurich; session_id=a279d42544d96684f3e853a2e86aa4676278f52c; grafana_session=c4446eb52f221f04416f2f3ad75bdeb2' \
  -H 'Pragma: no-cache' \
  -H 'Sec-Fetch-Dest: empty' \
  -H 'Sec-Fetch-Mode: cors' \
  -H 'Sec-Fetch-Site: same-origin' \
  -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36' \
  -H 'sec-ch-ua: "Google Chrome";v="105", "Not)A;Brand";v="8", "Chromium";v="105"' \
  -H 'sec-ch-ua-mobile: ?0' \
  -H 'sec-ch-ua-platform: "macOS"' \
  --compressed

list realm roles:

curl 'http://localhost:8080/admin/realms/default/roles?first=0&max=11' \
  -H 'Accept: application/json, text/plain, */*' \
  -H 'Accept-Language: en-US,en;q=0.9' \
  -H 'Authorization: bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJlWDZMRWRVM0djTkg4VzNRYzlNc2I2SVp6RF9HenFrdk93MGh4MXNrS0g4In0.eyJleHAiOjE2NjMzMjM5MjIsImlhdCI6MTY2MzMyMzg2MiwiYXV0aF90aW1lIjoxNjYzMzIyMjU0LCJqdGkiOiI0NWI4OTkwMy05MjI3LTQ2NGUtODc4OS1iYmIzNmJjMWQ0YTIiLCJpc3MiOiJodHRwOi8vbG9jYWxob3N0OjgwODAvcmVhbG1zL21hc3RlciIsInN1YiI6ImQzZmViMjJmLTY5MjUtNDA2ZC1iNTdmLTZlMDBjOWQzYTFlMiIsInR5cCI6IkJlYXJlciIsImF6cCI6InNlY3VyaXR5LWFkbWluLWNvbnNvbGUiLCJub25jZSI6ImU5OWRmMDY5LTc1NWMtNDc4Yy05YTA4LWY3ZTVhNzk2ZGQzNSIsInNlc3Npb25fc3RhdGUiOiJmMTA0YWU4Ny1jMzc1LTQyNmMtODZmNy02MGMwMGZkMGIxYjUiLCJhY3IiOiIwIiwiYWxsb3dlZC1vcmlnaW5zIjpbImh0dHA6Ly9sb2NhbGhvc3Q6ODA4MCJdLCJzY29wZSI6Im9wZW5pZCBwcm9maWxlIGVtYWlsIiwic2lkIjoiZjEwNGFlODctYzM3NS00MjZjLTg2ZjctNjBjMDBmZDBiMWI1IiwiZW1haWxfdmVyaWZpZWQiOmZhbHNlLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJhZG1pbiJ9.FKitZU1bEugTvV9qGeWij2fmeHd-_4V5oS8UAU4k4EGz6uGi2umSTa1LQ46Tp6XpmhxH6Vs0Qn2aIhJ4KbZU7g7aB7HKBS8JprzkzTgTPbcDAEi0dzwCnx2AAlpCzXcWPMl0UQdMxh_dAqA9PlgR4OqOKvSocKdx3Nkl5CzJXdX8cIjUlDlK1Ym3cR9hG8C5AwplRzvCWz0v2qD-MwlXG2QD_RqQkREVXGP0MkiizfXS4-fn0fNu6RY_ChzP7olUHZPpiK6juBvnHQRkqemTMD3Syk-Z6pdWhNSIY0BDhH6xOW8tfakGHqiHmrqJbTIKUMSwPM-QotxupgS7Mg38tQ' \
  -H 'Cache-Control: no-cache' \
  -H 'Connection: keep-alive' \
  -H 'Cookie: NG_TRANSLATE_LANG_KEY=en; PGADMIN_LANGUAGE=en; frontend_lang=en_US; cids=1; fileToken=dummy-because-api-expects-one; tz=Europe/Zurich; session_id=a279d42544d96684f3e853a2e86aa4676278f52c; grafana_session=c4446eb52f221f04416f2f3ad75bdeb2' \
  -H 'Pragma: no-cache' \
  -H 'Sec-Fetch-Dest: empty' \
  -H 'Sec-Fetch-Mode: cors' \
  -H 'Sec-Fetch-Site: same-origin' \
  -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36' \
  -H 'sec-ch-ua: "Google Chrome";v="105", "Not)A;Brand";v="8", "Chromium";v="105"' \
  -H 'sec-ch-ua-mobile: ?0' \
  -H 'sec-ch-ua-platform: "macOS"' \
  --compressed

list all users:

curl 'http://localhost:8080/admin/realms/default/users?briefRepresentation=true&first=0&max=11' \
  -H 'Accept: application/json, text/plain, */*' \
  -H 'Accept-Language: en-US,en;q=0.9' \
  -H 'Authorization: bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJGb0VhbmlKbDR4QWZVWGJUTXpOUEFVQTB6V2pZeVJvTXJLRE5uazdncWZjIn0.eyJleHAiOjE2NjQ4MDUxOTQsImlhdCI6MTY2NDgwNTEzNCwiYXV0aF90aW1lIjoxNjY0ODA1MTM0LCJqdGkiOiJmODZhZDQ5ZC1kYzU0LTQxNmItOWExNC0xODAzNjczNmYyODkiLCJpc3MiOiJodHRwOi8vbG9jYWxob3N0OjgwODAvcmVhbG1zL21hc3RlciIsInN1YiI6IjBmNDFlNWZmLTdjNTEtNGVkYy04ODMzLWY2YzBiZjQ3N2M1ZiIsInR5cCI6IkJlYXJlciIsImF6cCI6InNlY3VyaXR5LWFkbWluLWNvbnNvbGUiLCJub25jZSI6IjI2MjE1YmU1LWU4ZGQtNDU1My1iMmVlLWJjYjU1ZWYyYTY0ZSIsInNlc3Npb25fc3RhdGUiOiI0ODNiYjFhYS03ZDNmLTRhNzYtOGY4MS1lNDkxM2JhZmQxMzUiLCJhY3IiOiIxIiwiYWxsb3dlZC1vcmlnaW5zIjpbImh0dHA6Ly9sb2NhbGhvc3Q6ODA4MCJdLCJzY29wZSI6Im9wZW5pZCBlbWFpbCBwcm9maWxlIiwic2lkIjoiNDgzYmIxYWEtN2QzZi00YTc2LThmODEtZTQ5MTNiYWZkMTM1IiwiZW1haWxfdmVyaWZpZWQiOmZhbHNlLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJhZG1pbiJ9.Q7DM4c-_h2mJhVgpwEAszMUsCplLpeCF9wqBNckQt6uIRFGyctt7VPPaWhhMtlQkO60vUeTnPmKLsCI2AHsmYG7bFiRgEtYejgqsYBEAf5hIdvXj3NRrQc3Yli4Skj31ZrcmtqIYH9fBLel_akgbNuv3XlraiKvVuatC6xrymokpJ8VGb7z7GDWNUXqoQhYa_O6MRQeA6dW25z9H9TzFEiGnfwSa494XLPrdNL0ODmnUrrS2vaD80SqKGxlgZ0kjySo_WIH4AeePDJUbxABxoGAGbY4VfXrXiu8ENQzTo6cEA0tGunkVKhB6clQoWtEAqw2GFgABG-Bxaz381XPs4A' \
  -H 'Cache-Control: no-cache' \
  -H 'Connection: keep-alive' \
  -H 'Cookie: argocd.token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJhcmdvY2QiLCJzdWIiOiJhZG1pbjpsb2dpbiIsImV4cCI6MTY2NDM4MjY5MCwibmJmIjoxNjY0Mjk2MjkwLCJpYXQiOjE2NjQyOTYyOTAsImp0aSI6ImY0MTlhMmM5LTUzMjctNGNhMS04OWFmLTJkZGRlZGMxMDgzYiJ9.3UGndW1IWrPxbvi04lEd3yxG9-OhZ3RohnyCddpezK8' \
  -H 'Pragma: no-cache' \
  -H 'Sec-Fetch-Dest: empty' \
  -H 'Sec-Fetch-Mode: cors' \
  -H 'Sec-Fetch-Site: same-origin' \
  -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36' \
  -H 'sec-ch-ua: "Google Chrome";v="105", "Not)A;Brand";v="8", "Chromium";v="105"' \
  -H 'sec-ch-ua-mobile: ?0' \
  -H 'sec-ch-ua-platform: "macOS"' \
  --compressed

Policy form user mapping

Describe the bug
The values inside the form are wrong

To Reproduce
create a new policy
crate a new specific user
add some user
delete some of them

Expected behavior
the value of the user must be correct

Environment (please complete the following information):

  • OS: OSX
  • Browser Chrome

bugs

No service path is listed, but at least the default one should be there:
image

as a result, it seems policies creation fails:
image

probably a translation is missing:
image

flaky nodejs tests

Describe the bug

It seems that there is a resource issue / network issue that causes some of the test to fail:
https://github.com/orchestracities/auth-management-ui/actions/runs/3648493228

In particular it looks like test randomly cannot immediately connect to mongodb.

To Reproduce

Haven't managed to reproduce locally (if not killing mongodb). But you can trace the behavior from the link above.
It could be a resource issue because github recently changed the size of runners and repeating the failed tests
randomly works.

Expected behavior

Tests don't flak!

tenant id not displayed when level 1 path is created

Describe the bug
tenant id not displayed when level 1 path is created

localhost_3000_(iPhone SE)

To Reproduce
Steps to reproduce the behavior:

  1. Go in the service view
  2. Click on plus

Expected behavior
The tenant id should be populated in the form.

Environment (please complete the following information):

  • OS: iOS
  • Browser: chrome
  • Version: N/A

Additional context
N/A

entity management page

Is your feature request related to a problem? Please describe.

Add a section to manage entities as in the old portal. The following features to be supported:

Describe the solution you'd like

image

image

Describe alternatives you've considered

N/A

Additional context

N/A

visualize single entity

Display an entity dialog with two tabs:

  • View tab. Contains a table showing the entity attrs. Plus, if there's a location attr, we display a map with a pin. For JSON attrs, just show a preview, then the user can click to see the whole content.
  • JSON tab. Shows the JSON entity as received from Context Broker.

See screenshot

6DEB03F9-F701-45BA-8022-EB6EF31A008B

multi language support

  • allow user to select language (or get it from broswer language)
  • store preference in backend (graphql)
  • support in18 file to load language options and translations

Support paging on the resource query

Is your feature request related to a problem? Please describe.

When you have a lot for resources, queries need to support pagination. In orion, this is for example obtained as follows:

curl --location --request GET 'localhost:1026/v2/entities?attrs=id&orderBy=id&limit=1&offset=0' \
--header 'fiware-Service: Tenant1' \
--header 'fiware-ServicePath: /'

Describe the solution you'd like

In the configuration we should be able to store:

  • limit parameter (a string that will be added to the query)
  • offset parameter (a string that will be added to the query)
  • page size value (e.g. 50)

The if these parameters are defined, when querying resources:

  • if ? is already present in the url, parameters are added to existing url query
  • if ? is not present, we add query to the url

Query are repeated using a page size value (unless the number of values returned is smaller than the offset value)
updating the offset depending on the number of interactions (while limit value is always equal to page size value).

Describe alternatives you've considered

Keep as it is.

Additional context

N/A

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.