orchestracities / auth-management-ui Goto Github PK
View Code? Open in Web Editor NEWAn UI for Anubis and FIWARE-based platforms
Home Page: https://master--62bcedd6cc1b1300eb9e1607.chromatic.com/
License: Apache License 2.0
An UI for Anubis and FIWARE-based platforms
Home Page: https://master--62bcedd6cc1b1300eb9e1607.chromatic.com/
License: Apache License 2.0
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.
in my understanding, the tenant listing from the top right menu seems retrieved from graphql, this is not correct
the source of true of tenants is anubis, combined with the available tenants in the token.
Is your feature request related to a problem? Please describe.
Support resource_type definition in Configuration api
Describe the solution you'd like
Describe alternatives you've considered
enter values manually every time as now
Additional context
N/A
The folder includes default naming for the app that needs proper configuration, e.g.:
auth-management-ui/public/index.html
Line 10 in e45c104
https://github.com/orchestracities/auth-management-ui/blob/master/public/index.html#L27
if the folder is not relevant, remove it
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:
develop a set of automated test to verify that the auth of the server and the api works as expected
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.
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
Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
A clear and concise description of what you expected to happen.
Environment (please complete the following information):
Additional context
Add any other context about the problem here.
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:
Expected behavior
Re-creation don't fail.
IMHO this is not a clean why to load env variables based on hardcoded paths
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.
They are the same thing, and as a result one of the columns is always empty.
this was discussed quite some time ago:
ideally, "which" tenant should be the first one if not previous selection, the latest selected if it was previously selected (cookies can be used)
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
document ui components
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
only admin of a realm sees Tenant menu
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):
token should be refreshed only if before right before their expire timestamp
provide basic documentation in the readme
Describe the bug
Policy creation in case of agent "Resource Tenant Agent" fails due mispelled urn.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
It works :)
would be good to have solutions to test uis programatically.
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!
Describe the bug
tenant id not displayed when level 1 path is created
To Reproduce
Steps to reproduce the behavior:
Expected behavior
The tenant id should be populated in the form.
Environment (please complete the following information):
Additional context
N/A
Display an entity dialog with two tabs:
See screenshot
to run a react container in production it's impossible to assume that you need to recompile it everytime based on the environment variables you want to configure...
see this blog for a proper implementation:
https://www.freecodecamp.org/news/how-to-implement-runtime-environment-variables-with-create-react-app-docker-and-nginx-7f9d42a91d70/
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)The if these parameters are defined, when querying resources:
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
these are not user preferences:
nor these:
let the user choose if upload an image or just add an icon
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.